I believe this is because the labeled -> unlabeled transformation is modeled as a conversion/subtype relationship, which doesn't satisfy same-type requirements. IMO the missing feature here is something like generalized supertype constraints which would let you express CollectionType.Element: (StringType, StringType)
, i.e., "CollectionType.Element
is any tuple of two elements of StringType
".
2 Likes