Only create coalesced exceptions when we need them
Add run-time type information

This adds data that will later be useful for extracting information
about types. It is currently only used in object.toString() to check
whether the object is a class, and if so to extract its qualified name.