I don't think they're saying it shouldn't be possible to mutate arguments, just that the ! convention should be enforced. The Ruby runtime could, for instance, automatically freeze all arguments to a function that doesn't end with a !. That way all code that correctly follows the mutation naming convention will continue to work, and any development who doesn't know about it will quickly learn when they try to mutate an argument and get an error. Ideally a helpful error telling them to add the !.
That's really interesting. Although my worry is the freezing having bad effects down the line after the function returns.
Now, if you could temporarily freeze, and then unfreeze only the ones you froze, that could be really cool.