Made AST strongly typed in preparation for use in symbol table