Including module and field name information in record "show", locking down constructor access of union types, relaxing type unification of constructors (perhaps too much so)
Differentiating between record and constant constructors