I'll work on preserving the exact type for the common cases and will
open an issue with patch when I got it working.
Remco
Working on this I noticed a lot of meta data is discarded by to
current, serialize everything to lisp expressions, code when compiling
core.clj. This happens because the constants are emitted while core
is loaded and the writer depends on core-print which does write meta
data for a couple of types.
Isn't this a problem? Rich can you confirm? Or should the constants
in AOT compiled code not contain meta data at all? Seems very
unlikely! If it doesn't need meta data, why not?
Emitting meta data properly might even allow one to get rid of
*print-initialized* which seems hackish to me.
Remco