separate environment code into own module
rename AST nodes to lambda-like names