From Kerry Raymond @ DSTC:
Looking at the archetype models, there appears to be no way to enforce that the class to be used for some specific piece of information is exactly that class and not one of its subtypes. For example, what if it is important to have a DVTime used and not a DVPartialTime? Or an ObjectRef that should never an AccessGroupRef or a PartyRef?
My feeling is that the class constraint in an archetype needs an additional property "subtypesAllowed" or similar to cater for the two cases.