class Prism::ProgramNode

def copy(**params)

def copy: (**params) -> ProgramNode
def copy(**params)
  ProgramNode.new(
    params.fetch(:locals) { locals },
    params.fetch(:statements) { statements },
    params.fetch(:location) { location },
  )
end