class SyntaxTree::MatchVisitor

def visit(node)

def visit(node)
  case node
  when Node
    super
  when String
    # pp will split up a string on newlines and concat them together using a
    # "+" operator. This breaks the pattern matching expression. So instead
    # we're going to check here for strings and manually put the entire
    # value into the output buffer.
    q.text(node.inspect)
  else
    node.pretty_print(q)
  end
end