DefineObjectType[type,definition]⟹out
defines a type and its fields.
Define new Types:
Define sub Types:
Define a named Type:
Parameters are held, so that the explicit type registry can be passed by reference:
Parent Types must exist:
Type Names must be unique: