pub fn consolidate_named<Ba, Bu, Tr>(&self, name: &str) -> Self
    where
        Ba: Batcher<Input=Vec<((D,()),G::Timestamp,R)>, Time=G::Timestamp> + 'static,
        Tr: crate::trace::Trace<Time=G::Timestamp,Diff=R>+'static,
        for<'a> Tr::Key<'a>: IntoOwned<'a, Owned = D>,
        Tr::Batch: crate::trace::Batch,
        Bu: Builder<Time=Tr::Time, Input=Ba::Output, Output=Tr::Batch>,
    {
        use crate::operators::arrange::arrangement::Arrange;
        self.map(|k| (k, ()))
            .arrange_named::<Ba, Bu, Tr>(name)
            .as_collection(|d, _| d.into_owned())
    }
As `consolidate` but with the ability to name the operator and specify the trace type.
differential-dataflow/src/operators/consolidate.rs