cleaning up the two "environment"-using visitors to use the same
representation.  now unbound-variable checking is as simple as it
should be.