require QuickCheck >=2.5 because arbitraryBoundedEnum and coarbitraryEnum exist only after QuickCheck-2.5