sclass ConceptShadow { Map map; bool refsConvertedToIDs; *(Concept c) { map = conceptShadow_rawMap(c); } void convertRefsToIDs { if (refsConvertedToIDs) ret; set refsConvertedToIDs; MetaTransformer tf = metaTransformer_collectionAndMap(); map = toMinimalMap(mapValues(map, o -> tf.transform(lambda1 conceptToIDObj_gen, o))); } toString { ret "ConceptShadow " + stringIf(refsConvertedToIDs, "[converted] ") + map; } }