Consistency between types and user-specified cardinalities is checked in CorrespondsTo. If there is any sort of mismatch it will abort the expansion immediately.