use dictionaries for ast nodes
Use a class for expression evaluation; associate this with a schema
Create a first-class Schema object
Use expression class for projection, set operations