Say that I have the data types:
data A = A1 | A2 | A3
data B = B1 A | B2 A
I can easily generate a list of all possibilities of B. I want to test all possible permutations, but I still want to use QuickCheck to spit out all the elements of the list where it is applied. In this case, I want to test that a rule is true for all possibilities, so I don't want to generate random data.
Assuming that I already have all possibilities in a list, how can I make QuickCheck output each element of the list exactly once? Giving the same exact set of values each time.