Quasiforms Aren't Super Friendly (and they shouldn't be)

The original intent of quasiforms was that they were a bit "bad".

Things like ~null~ were actually originally called BAD-WORD!s. (I kind of miss that slightly amusing term.)

So indeed, an aspect of the term "quasi" was that the squiggles would make you uncomfortable... perhaps a bit queasy... :nauseated_face: ...and they would call attention to themselves.

They Are Disruptive By Design

Consider code like this:

>> stuff: [[a b] ~[c d]~ (e f)]

>> list: second stuff

>> for-each item list [probe item]
** Script Error: for-each expects
     [~void~ blank! any-series? any-context? map! any-sequence? action?]
   for its data argument

It's not super typical to want to enumerate quasiform lists. But it does come up...and when it does, it may seem kind of annoying that you have to say things like for-each item unquasi list

It's For The Best

We want code that isn't specifically written to expect quasiforms to trip up on them, because the odds are pretty good that they are proxies for antiform intent.

And I'd really discourage usage of quasiforms anywhere that they're not being used for something intended to be fundamentally disruptive. As I wrote in describing Synthetic Asymmetric Delimiters, you have other choices.

Don't pick quasiforms in your dialect just because "they look cool". Pick them because you want to create a speedbump.

So the number of things you can do with quasiforms will remain intentionally limited. Expect errors when you pass them to anything that's not strictly structural (like APPEND, FIND, etc.)

>> to word! 'null
== null

>> to word! '~null~
** Script Error: expected &[word] not &[quasiform]

>> unquasi '~null~
== null