In IFC4, the EXPRESS definition gives definitions of correct type assignments, such as:
CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
('IFC4.IFCCOILTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
… however I could not find this for IFC2X3. Did I miss it?