COMPOSE has a great feature of being able to add quotes to the slot, by grafting the quotes that are on the slot onto the synthesized result. It adds onto existing quotes:
PACK!s shouldn't be composing as packs, but as the decayed values. We don't want it to be composing in quasi-errors instead of reporting them.
I considered having it be a refinement, like compose:antiform, however...
I Think I Like Reverse-Biasing The Safety
I don't know if I'd say it's inconsistent, given that COMPOSE is a dialect.... and the whole point of a dialect is to use the parts to be effective. A QUOTED! value doesn't necessarily have to have anything to do with QUOTE at all in a dialect. (It just happens to be strongly correlated with quoting here...)
Quasifying stable, decayed, antiforms is genuinely useful.
I guess the way I'd put it is: if you think the safety is important, don't put the quotes on the outside of the group. Put it inside:
>> compose [field1: (quote first [a]) field2: (quote expression-maybe-null)]
** Error: that expression turned out to be null
Quotes on the outside then becomes a power-user feature, and it does what a power user wants: