class SyntaxTree::Program

def copy(statements: nil, location: nil)

def copy(statements: nil, location: nil)
  node =
    Program.new(
      statements: statements || self.statements,
      location: location || self.location
    )
  node.comments.concat(comments.map(&:copy))
  node
end