@@ -717,6 +717,17 @@ instance Arbitrary FieldName where
717717 shrink = genericShrink
718718
719719
720+#if MIN_VERSION_base(4,10,0)
721+-- Test.QuickCheck.Modifiers
722+
723+qcNonEmptyToNonEmpty :: NonEmptyList a -> NonEmpty a
724+qcNonEmptyToNonEmpty (NonEmpty (a : xs)) = (a :| xs)
725+qcNonEmptyToNonEmpty (NonEmpty []) = error "NonEmpty was empty!"
726+
727+instance Arbitrary a => Arbitrary (NonEmpty a) where
728+ arbitrary = qcNonEmptyToNonEmpty <$> arbitrary
729+#endif
730+
720731instance Arbitrary RegexpFlags where
721732 arbitrary = oneof [ pure AllRegexpFlags
722733 , pure NoRegexpFlags