Your generators already know how to shrink

Here is a line from base_quickcheck that surprised me: (* shrinker.ml *) let int = atomic atomic means “never produce any shrink candidate”. The same goes for int32 , int64 , float , char , and bool . When your property fails on 766135 , base_quickcheck reports 766135 . Only structure shrinks: lists drop elements, but the elements themselves stay whatever they were. I do not think this is a bug. I…