Well, five years ago I put this idea forth.
Since locals-gathering function has been dead for some time now, I decided the end of the PARSE-based wrapper that implemented the "higher-level" function was as good a time as any to finally make the change.
The FUNCTION native is now shorthanded as FUNC, as full synonyms.
Red still operates on the old idea:
red>> x: 10
red>> foo: function [y] [x: y]
red>> foo 20
red>> x
== 10
red>> x: 10
red>> bar: func [y] [x: y]
red>> bar 20
red>> x
== 20
But as I point out at the top of this thread, and in other posts, it's just not good.
So nice to finally get this crossed off.