I've mentioned elsewhere that this part is right...
Nenad: "Redbol languages are based on denotational semantics, where the meaning of every expression needs to have a representation in the language itself. Every expression needs to return a value."
...every expression indeed needs to return "a value" (or be divergent, and throw or panic).
It just DOES NOT follow that the language is served by allowing any form of these "values" to be put absolutely anywhere, e.g. as elements of a List.
Nenad: "Without unset! there would be a hole in the language, several fundamental semantic rules would be collapsing, e.g.
reduce [1 print ""]=>[1](reducing 2 expressions would return 1 expression)."
This is the part where their religion falls apart.
To ever climb out of that hole, they need to embrace the superior principle:
"There must be a transformation available by which any value can be represented in a List, and a reverse transformation by which that value can be recovered."
Ren-C's "Lifting Ladder" of ANTIFORM => QUASIFORM => QUOTED may not be the only way to accomplish that. But it pulls it off with style and efficiency, in just one byte of the Cell.
The code speaks for itself.