Should ANY-VALUE! Include Isotopes?

So if you don't put any type restrictions on a parameter, it will allow isotopes:

 >> foo: func [x] [probe x]

>> foo null
~null~  ; isotope

And right now, that is a synonym for ANY-VALUE!.

 >> foo: func [x [any-value!]] [probe x]

>> foo null
~null~  ; isotope

But what if you want to exclude isotopes? We could have a name for the typeset excluding isotopes (perhaps ANY-CELL!). Or we could say that ANY-VALUE! doesn't include isotopes by default, and so you have to write [any-value! isotope!] if you want them... or just include the specific ones you intend (like [null! any-value!].

Right now I'm going the route of saying ANY-CELL! is the narrower set of values that do not include isotopes. Is there a better term for saying something can be put into an array vs. not?

"10 is an integer! which is legal to use as a cell, while ~null~ isotopes are not legal as cells, but can be variable values"

It seems shorter and cleaner than ANY-REIFIED! or something like that. I don't know any better options.

1 Like