pub fn complete(self) {
        let distinct = self.current.distinct();
        // distinct.map(|_| ()).consolidate().inspect(|x| println!("{:?}", x));
        self.variable.set(&distinct);
    }
Finalizes the variable, connecting its recursive definition.

Failure to call `complete` on a variable results in a non-recursively defined
collection, whose contents are just its initial `source` data.
differential-dataflow/examples/graspan.rs