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!
