Some time ago, Ben Wing wrote...
| What you say about the way magic specifiers appear at the Lisp level is correct.
| really don't think you should add needless extra parameters to any specifier
| Instead, just decide that specifier-fallback definitely does not copy a specifier that
| returns, and maybe add a read only flag to specifiers if you don't want the ghost
| to be modified except during initialization time. For that matter, there would be no
| call copy-tree at all if it were possible to mark conses and vectors (and strings) as
| read-only. This should be possible using minimal tag bits, and I think it would be a
| feature to add as it would eliminate a lot of other places where lists are copied
| avoid possible malicious code modifying them. Kyle? You could simulate this in the
| minimal tag bits case by allocating read-only conses in their own frob blocks, and
| figure out a way to hack the flag into strings and vectors.
Ok, in the meantime, while there are no "read-only lrecords", I'll do