Moreover, "a mutable pair is not a pair; they are completely separate datatypes".
So, I think, you can't make a piece of syntax out of these and pass them to the evaluator or compiler.
So, this doesn't even give a tip of the hat to the tradition of Barbara Liskov's substitution principle where you'd expec that a "mutable pair" is-a kind-of "pair", and so on.
https://docs.racket-lang.org/reference/mpairs.html
Moreover, "a mutable pair is not a pair; they are completely separate datatypes".
So, I think, you can't make a piece of syntax out of these and pass them to the evaluator or compiler.
So, this doesn't even give a tip of the hat to the tradition of Barbara Liskov's substitution principle where you'd expec that a "mutable pair" is-a kind-of "pair", and so on.