class SyntaxTree::Binary

def copy(left: nil, operator: nil, right: nil, location: nil)

def copy(left: nil, operator: nil, right: nil, location: nil)
  node =
    Binary.new(
      left: left || self.left,
      operator: operator || self.operator,
      right: right || self.right,
      location: location || self.location
    )
  node.comments.concat(comments.map(&:copy))
  node
end