Table doesn't work differently enough to break the iterable rules, what kind of ranges are you thinking about ? A range is a begin and an end iterator. Or otherwise said, one iterator with a "isFinished" method (since it is nim's choice). Soon they'll have next() if I understand correctly. Then, all procedures which work with OpenArray whould take an iterator instead.
The collection libraries of your link seems to get it right [https://networkos.net/nim/collections.nim/doc/api/collections/iterate.html](https://networkos.net/nim/collections.nim/doc/api/collections/iterate.html) the rest is 404 or 0.0.3, but zero-functional looked interesting, even though it's not necessary to go meta to get the same result. Anyway this is all over the place. sequtils, sequtils2 ? misc ? collection libraries ? language extensions ? lots of attempts to to breathe in a language/ecosystem that doesn't grow fast enough it seems.
