alternative IteratorPublisher

This creates indirection for all iterables (which I think will be way more common than () => Iterators)