Inconsistent rebinding rules for function arguments

The inconsistency I am pointing out is that you can do implicit rebinding:

function update!(x)
  x += dx  # or x = 10
end

but if you try to make the rebind explicit:

function update!(x)
  local x += dx    # or local x = 10
end

you get a syntax error:
ERROR: syntax: local variable name "x" conflicts with an argument