I think I just found the reason for this: 
[https://nim-lang.org/docs/manual.html#templates-limitations-of-the-method-call-syntax](https://nim-lang.org/docs/manual.html#templates-limitations-of-the-method-call-syntax).

Apparently, the compiler rejects the use of the `iterator` outside of a loop 
context _before_ allowing for the UFC transformation to be applied. This is a 
tad bit odd, but it is well-defined behavior according to the manual. So, in 
those cases where you are invoking a `template` with an `iterator` as an 
argument, you have to use the function call syntax.

Hope this helps!

Reply via email to