-each terminal node in the AST requires a method on ASTVisitor -this can maybe be done with a macro?