AstVisitor and AstToStringVisitor.