pub fn new(scope: &mut G, step: <G::Timestamp as Timestamp>::Summary) -> Self {
        let (feedback, updates) = scope.feedback(step.clone());
        let collection = Collection::<G, D, R, C>::new(updates);
        Self { collection, feedback, source: None, step }
    }
Creates a new initially empty `Variable`.

This method produces a simpler dataflow graph than `new_from`, and should
be used whenever the variable has an empty input.
differential-dataflow/src/operators/iterate.rs