HStream<Iterable<R>> expand<R>(Iterable<R> expander(T? input)) { return HStream<Iterable<R>>(expander(first), after.map((T item) => expander(item))); }