move tuple generation to ExhaustiveProvider