the most problematic change was forcing for loop variables to be loop-local,
instead of reusing existing local vars. for example
for i = 1:2
currently works and returns 2.
for now, the behavior is to introduce new variables for each iteration unless
we are overwriting an existing local. comprehensions, however, always
introduce fresh variables and never overwrite existing ones.