Generator: respect cardinalities (note restriction for non-** self-edges)