I started writing and just about forgot to talk about the example that motivated me to start talking about it.
Where I was going to go with this was to talk about this example:
; ~<unreachable>~ antiform => "unreachable"
if tripwire? get/any $reason [
reason: as text! unquasi ^reason
]
Imagine doing this more cleanly, as:
if meta:tripwire? ^reason [
reason: as text! unquasi ^reason
]
Still a little bit laborious. Basically, once you have a value in a variable that you can't get through a normal reference, something has to step outside that.
If I were willing to let AS TEXT! take quasiforms, you could duck the unquasi:
if meta:tripwire? ^reason [
reason: as text! ^reason
]
It may seem tempting, but I don't want to allow that.
But we don't have a single operation that fetches an ornery antiform and gets it to plain form in one step.
If we did have that operation as a function--call it flatget
for a moment--it would still look like:
if meta:tripwire? ^reason [
reason: as text! flatget $reason
]
Which isn't really any better than unquasi ^reason
, and just injects a new term instead of using the sunk cost of vocabulary surrounding isotopes that we absolutely have to have.
Dealing with tripwires is just going to be a little difficult by design. At least the ability to go to the ^META level on both the retrieval and the test cleans it up a little.