class Opal::Rewriters::DeduplicateArgName

def rename_arg(arg)

def rename_arg(arg)
  case arg.type
  when :arg, :restarg, :kwarg, :kwrestarg, :blockarg
    name = arg.children[0]
    name ? arg.updated(nil, [unique_name(name)]) : arg
  when :optarg, :kwoptarg
    name, value = arg.children
    arg.updated(nil, [unique_name(name), value])
  when :mlhs
    new_children = arg.children.map { |child| rename_arg(child) }
    arg.updated(nil, new_children)
  else
    arg
  end
end