Open symbiont-sam-halliday opened 4 years ago
You can use forAllShrink
with generators and shrinkers for something of type Shrink s a
instead of a
. That would let you bypass the Arbitrary
machinery but it may not be super ergonomic. Is it correctly understood that you're looking for something that would effectively work like using forAllShrink @(Shrink s a)
but with better ergonimics?
It would be very useful to be able to have stateful shrinkers, as per
Test.QuickCheck.Shrinking
without having to use theArbitrary
machinary.e.g. something complementing
forAllShrink
(forAllShrinkState
?) that can take aShrinkState
instance (or manually passing the two relevant functions).Related to #272