pub fn enter_at<'a, T, F>(&self, child: &Iterative<'a, G, T>, mut initial: F) -> Collection<Iterative<'a, G, T>, D, R>
    where
        T: Timestamp+Hash,
        F: FnMut(&D) -> T + Clone + 'static,
        G::Timestamp: Hash,
    {
        self.inner
            .enter(child)
            .map(move |(data, time, diff)| {
                let new_time = Product::new(time, initial(&data));
                (data, new_time, diff)
            })
            .as_collection()
    }
Brings a Collection into a nested scope, at varying times.

The `initial` function indicates the time at which each element of the Collection should appear.

# Examples

```
use timely::dataflow::Scope;
use differential_dataflow::input::Input;

::timely::example(|scope| {

let data = scope.new_collection_from(1 .. 10).1;

let result = scope.iterative::<u64,_,_>(|child| {
data.enter_at(child, |x| *x)
.leave()
});

data.assert_eq(&result);
});
```
differential-dataflow/src/collection.rs