Structure Types
---------------

In the previous version of the OMF, we treated structure types (e.g.
Model::MultiplicityType) as a completely separate entity. However,
in this version, we accord them all the same responsibilities of
standard model elements. They have proxies, factories and extents
and are, for all intents and purposes the same thing. The only
difference is how they are contained by other elements. Rather
than building an explicit association between the two elements,
we simply treat it as a standard attribute with strong ownership
semantics. Anything declaring a structure as a member allocates
the structure on construction, deallocates it on destruction and
is responsible for avoiding leaks during reassignment.