Iterators do [1..]
The following picture probably doesn’t surprise you
But as you can see in what is commented out, you can indeed e.g. do
Such an iterator then has quite a similarity to Haskell’s [1..], the infinite list. Just make sure that you don’t pull all elements from the source…