pub fn distinct_trace(&self) -> Stream<Circuit<P>, Z>
    where
        Z: NumEntries + ZSet + DeepSizeOf,
        Z::Key: Clone + Ord + DeepSizeOf,
        Z::R: ZRingValue + DeepSizeOf,
    {
        self.circuit()
            .cache_get_or_insert_with(DistinctTraceId::new(self.local_node_id()), || {
                self.circuit().add_binary_operator(
                    DistinctTrace::new(),
                    self,
                    &self
                        .trace::<OrdKeySpine<Z::Key, NestedTimestamp32, Z::R>>()
                        .delay_trace(),
                )
            })
            .clone()
    }
// TODO: Rename this method.
// TODO: Document it better (we need a better framework to explain nested
// incremental computations).
/// Incremental nested version of the [`Distinct`] operator.
///
/// This implementation integrates the input stream into a trace and should
/// be more CPU and memory efficient than
/// [`Stream::distinct_incremental_nested`].
Rename this method.
TODO: Document it better (we need a better framework to explain nested
incremental computations).
Incremental nested version of the [`Distinct`] operator.

This implementation integrates the input stream into a trace and should
be more CPU and memory efficient than
[`Stream::distinct_incremental_nested`].
Rename this method . TODO : Document it better ( we need a better framework to explain nested incremental computations ) . Incremental nested version of the [ ` Distinct ` ] operator . This implementation integrates the input stream into a trace and should be more CPU and memory efficient than [ ` Stream :: distinct_incremental_nested ` ] .
pub fn distinct_trace(&self) -> Stream<Circuit<P>, Z>
    where
        Z: NumEntries + ZSet + DeepSizeOf,
        Z::Key: Clone + Ord + DeepSizeOf,
        Z::R: ZRingValue + DeepSizeOf,
    {
        self.circuit()
            .cache_get_or_insert_with(DistinctTraceId::new(self.local_node_id()), || {
                self.circuit().add_binary_operator(
                    DistinctTrace::new(),
                    self,
                    &self
                        .trace::<OrdKeySpine<Z::Key, NestedTimestamp32, Z::R>>()
                        .delay_trace(),
                )
            })
            .clone()
    }
pub fn distinct_trace ( & self ) -> Stream < Circuit < P > , Z > where Z : NumEntries + ZSet + DeepSizeOf , Z :: Key : Clone + Ord + DeepSizeOf , Z :: R : ZRingValue + DeepSizeOf , { self . circuit ( ) . cache_get_or_insert_with ( DistinctTraceId :: new ( self . local_node_id ( ) ) , | | { self . circuit ( ) . add_binary_operator ( DistinctTrace :: new ( ) , self , & self . trace :: < OrdKeySpine < Z :: Key , NestedTimestamp32 , Z :: R > > ( ) . delay_trace ( ) , ) } ) . clone ( ) }
TODO: Rename this method.
TODO : Rename this method .
&self