The stdlib is mostly as generic as the lack of a working `concept` implementation allows for. No surprises here and thanks for the update, I lived under a rock the last ten years and don't know about C++'s iterators and D's slices and Clojure's transfinite enumerations.
Having said that, I still think `flatMap` et al are cargo cult programming, especially how Scala does it (`map` can have as many side-effects as a for loop since the lambda can have side-effects). So how many procs and iterators do you need to replace `for + if + break`? Turns out, dozens. It's like CISC vs RISC designs. And once you use `map` and `filter` everywhere you will complain the code ain't optimized well. Here we go, let's steal Haskell's deforestation then. Oh but the papers about it only apply to Haskell, so let's turn it into a research project... See the problem? It never stops creating work. It's **exactly** this approach that Nim has followed for far too long and why Nim is not at version 1 for 5 years already. I don't even know if it's really that bad if my `sort` algorithm doesn't work with your precious arrogant re-implementation of a `seq`. You re-invented `seq`, you can re-invent `sort` too then. Seems fair to me, all things considered.
