@@ -731,12 +731,24 @@ instance Arbitrary FieldName where
731731 shrink = genericShrink
732732
733733
734+#if MIN_VERSION_base(4,10,0)
735+-- Test.QuickCheck.Modifiers
736+
737+qcNonEmptyToNonEmpty :: NonEmptyList a -> NonEmpty a
738+qcNonEmptyToNonEmpty (NonEmpty (a : xs)) = (a :| xs)
739+qcNonEmptyToNonEmpty (NonEmpty []) = error "NonEmpty was empty!"
740+
741+instance Arbitrary a => Arbitrary (NonEmpty a) where
742+ arbitrary = qcNonEmptyToNonEmpty <$> arbitrary
743+#endif
744+
734745instance Arbitrary RegexpFlags where
735746 arbitrary = oneof [ pure AllRegexpFlags
736747 , pure NoRegexpFlags
737748 , SomeRegexpFlags <$> genUniqueFlags
738749 ]
739750 where genUniqueFlags = NE.fromList . nub <$> listOf1 arbitrary
751+
740752 shrink = genericShrink
741753
742754