All-pairs generation: every feasible value pair of two dimensions appears in at least one
returned assignment. A pair that passes the predicate on its own but has no valid completion is
listed in InfeasiblePairs with the pairs the predicate rejects outright. With required, only
the value pairs it accepts are required (and reported).
All-pairs generation: every feasible value pair of two dimensions appears in at least one returned assignment. A pair that passes the predicate on its own but has no valid completion is listed in
InfeasiblePairswith the pairs the predicate rejects outright. Withrequired, only the value pairs it accepts are required (and reported).