Expands each element of this Iterable into zero or more elements.
The resulting Iterable runs through the elements returned
f for each element of this, in iteration order.
The returned Iterable is lazy, and calls
f for each element
of this every time it's iterated.
Iterable/*<T>*/ expand/*<T>*/(Iterable/*<T>*/ f(E element)) => new ExpandIterable<E, dynamic/*=T*/>(this, f);