pub fn set_concat(self, result: &Collection<G, D, R, C>) -> Collection<G, D, R, C> {
        let step = self.step;
        result
            .inner
            .results_in(step)
            .connect_loop(self.feedback);

        self.collection
    }
Set the definition of the `Variable` to a collection concatenated to `self`.

This method is a specialization of `set` which has the effect of concatenating
`result` and `self` before calling `set`. This method avoids some dataflow
complexity related to retracting the initial input, and will do less work in
that case.

This behavior can also be achieved by using `new` to create an empty initial
collection, and then using `self.set(self.concat(result))`.
differential-dataflow/src/operators/iterate.rs