STR.DefinedComponentType <T STR.AbstractDefinedComponentType
+STR.ReplaceableDefinedComponentType <T STR.AbstractDefinedComponentType
+
STR.ProceduralComponentType <T STR.AbstractDefinedComponentType
>-- STR.ProceduralComponentType.code --> STR.ProceduralComponentTypeCode <R L0.HasProperty : L0.TotalFunction
>-- STR.ProceduralComponentType.environment --> L0.SCLValue.Environment <R L0.IsRelatedTo : L0.FunctionalRelation
STR.ProceduralComponentTypeCode <T L0.String
+
//STR.proceduralConnectionPointPath --> L0.String <R L0.HasProperty : L0.FunctionalRelation
/*
@L0.assert L0.domainChildren
STR.Functions.structuralChildDomainChildren : L0.ExternalValue
L0.HasValueType "VariableMap"
+ @L0.sclAssertion L0.typeResource "structuralTypeResource" "Variable -> Resource -> <ReadGraph> Resource"
STR.Run
@L0.assert L0.domainChildren
STR.UserDefinedProperty <T L0.Entity
+STR.TypeOverride <T L0.Entity
+ >-- STR.TypeOverride.HasOriginalType --> STR.ComponentType <R L0.IsRelatedTo : L0.TotalFunction
+ >-- STR.TypeOverride.HasReplacementType --> STR.ComponentType <R L0.IsRelatedTo : L0.TotalFunction
+STR.HasTypeOverride --> STR.TypeOverride <R L0.IsRelatedTo
+
+
STR.ComponentType
// This relation is inherited from L0.IsComposedOf because changes in the code
// need to be propagated to the component type