added some code for type synthesis, will have to break out the left and right expr code blocks into a separate post order traversal to build the ast from the parse tree
ast of empty program can be built from parse tree
can now build up an ast with one expression only, need to add type annotations
type checking almost complete, need to refactor how operation and constant tokens are found
added code to allow operators to work on different types