Time to close this ticket.
The IterExplorer is it.
This pipeline builder framework was gradually developed over the course of several years, starting with a first, unsuccessful attempt to leverage the Monad Pattern from functional programming. After abandoning this first draft, a second attempt was made, based on the model of a pipeline builder. This design proved to be very versatile and tremendously successful. And it has evolved into an elaborate framework on its own, including a tree expansion mechanism, flattening and reduce operations.
Just recently, I have reworked and cleaned out the Itertools (#347), and modernised parts of our Iter Adapter framework (#349). Furthermore I am considering an extension to package an iteration as an opaque functor (#190). Overall, Lumiera got a mature and well integrated framework for lazy processing.
Remark regarding STL Ranges: These do not seem that important any more. Regarding the original iterator framework in the STL, the Range-TS mitigated some of the notorious annoyances — yet the abilities of our Lumiera iterator framework surpass the STL Ranges by far margin. In Lumiera, it was possible to do similar things already 15 years ago. And, what seems more important, our approach is more abstract and functional and less focussed on containers and data types.