A few fasl-size savings, and 350KB smaller image on x86-64.
- DEFSTRUCT creates its gensyms using COPY-SYMBOL
because in (&KEY ((:x #:x) ...)) the strings are shareable.
- The compiler dumps an uninterned symbol whose name is STRING=
to an already-dumped symbol using a copy-symbol fop.
It should also be possible to copy an interned symbol's name
from any lookalike symbol, but this would be tricky to implement.
- Genesis aggressively coalesces substructure for the simple-fun-type
and -arglist slots. Ideally it would be done by the target loader
too, except that to be effective it would need larger than file
scope, as ordinary sharing has already done most of the job.