class SyntaxTree::BlockNode

def copy(opening: nil, block_var: nil, bodystmt: nil, location: nil)

def copy(opening: nil, block_var: nil, bodystmt: nil, location: nil)
  node =
    BlockNode.new(
      opening: opening || self.opening,
      block_var: block_var || self.block_var,
      bodystmt: bodystmt || self.bodystmt,
      location: location || self.location
    )
  node.comments.concat(comments.map(&:copy))
  node
end