Try this <https://play.nim-lang.org/#ix=3sXE>.
It uses a closure iterator. My guess is that the main issue is that the semantics of `[]` putting everything but the first parameter on the inside is expected to be inside the brackets isn't implemented for iterators
