- you state
that those primitive objects are the only ones which
shouldn't necessarily be defined in a package. I seem to recall
that at
some point we had entries like:
(MSE.Class (back then it was still mse) (id:...) (name: Boolean)) as a
toplevel statement; not in a package; to which we referred by id.
This was a bug.
Since you force classes to be in packages, if instead of saying "you
don't have to specify built-in objects", you would say "you are not
allowed to specify built-in objects", this would solve the problem. Then
all classes are named "Package.Class", and if there is no "." in the
string, this means it's a ref to one of the built-ins. It would also
make developing an MSE-reader more straightforward.