Make shadowing of variables work properly
GC local variables but keep those in use

All procs get their private scope struct, but w/ pointers to the same
environments.