Does SET/ANY, GET/ANY-thing matter anymore?

Historical Rebol uses SET/ANY and GET/ANY to allow you to read and write unset variables:

rebol2>> unset 'foo

rebol2>> get 'foo
** Script Error: foo has no value

rebol2>> unset? get/any 'foo
== true

rebol2>> set 'bar #[unset!]
** Script Error: word needs a value

rebol2>> unset? set/any 'bar #[unset!]
== true

(Note that Ren-C calls the unset variable state "TRASH".)

Calling a Refinement /ANY May Not Be A Good Precedent

ANY is a very common construct. So if people get in the habit of naming their refinements /ANY it would be kind of irritating. Every time you use it, you have to be careful to use lib.any for the control construct... or shuffle the names around to put ANY back and move the argument to a new variable.

The "/ANY" Behavior Is The Default For SET-WORD!

SET-WORD! doesn't error on "trash" assignments, it just clears the variable. That's pretty much firm.

It's a nice way to clear out variables:

 >> x: ~
 == ~  ; anti

It thus seems to make sense that SET of a WORD! would do what a SET-WORD! would do, and not error. So the /ANY would be superfluous by that logic.

GET Returning Trash Doesn't Seem That Problematic (?)

Traditionally, the reason plain WORD! errors on unset variables is that you need to stop code from churning along when you thought you made a function call.

rebol2>> apend [a b c] [d e]
== [d e]  ; if unsets were ignored

There's no callee you are passing the value to who can reject the #[unset!].

But GET doesn't run functions. So you're always GET-ing the value to be putting or passing somewhere else.

A generic checker like MUST could be applied to say must get if you really wanted to enforce that you're getting something that wasn't trash (or null? or void?) This could be useful in an assignment if you were trying to have error locality, since the SET-WORD! would accept a trash without erroring:

other-name: must get @original-name

So... Do We Need The /ANY Switches On GET and SET ?

This has been on the table a long time (I edited this post from 2019 to bring it up to date, but the point remains).

Does anyone want to speak up in defense of their importance?