If there are 2 required traits and 4 optional traits in the solver, and two parents contain all 6 traits between them, the solver will attempt to calculate the probability of inheriting 6 traits, which is not possible and no children will be produced.
When the total desired traits exceeds the max, we should generate permutations of required + optional traits up to the max of 4.
https://github.com/tylercamp/palcalc/blob/main/PalCalc.Solver/BreedingSolver.cs#L228
If there are 2 required traits and 4 optional traits in the solver, and two parents contain all 6 traits between them, the solver will attempt to calculate the probability of inheriting 6 traits, which is not possible and no children will be produced.
When the total desired traits exceeds the max, we should generate permutations of required + optional traits up to the max of 4.