Sorry - I read more your 2nd whole comment than your 2nd sentence and replied too quickly. Oops.
It does indeed seem weird that `for y in [1]: bod(y)` works while `for x in [1]: bod(x)` fails. I'd file a bug called something like "template-local symbol mishandled when shadowing a sub-proc-scope inject" or something similar.
