The SPEC-OF an Object
In R3, functions have "specs". These are interface and operational specifications. For example, arguments passed to a function, help strings, return values, exception handling, trace/profile controls, etc.
It is intended for objects (hence modules) to also accept a spec. This is one way to provide help strings for an object, enforce typing of the object's fields, along with other features.
The problem is: what should be done with specs when a sub-object is made. If we keep the spec, it would be nice to make it a reference, not a copy.
Then, there's the issue of mold: would all sub-objects mold the spec back or not?
So, it's not well defined. It may need to wait for post 3.0.0.