So would one define a putative TypeMetadataRecord that is identical to a ProtocolConformanceRecord but only contains the metadata reference (and reference type discriminant)? Is emitNominalMetadataRef() the right place to create (not emit) these records? — Luke