diff --git a/genvalidity.cabal b/genvalidity.cabal
--- a/genvalidity.cabal
+++ b/genvalidity.cabal
@@ -1,5 +1,5 @@
 name: genvalidity
-version: 0.4.0.1
+version: 0.4.0.2
 cabal-version: >=1.10
 build-type: Simple
 license: MIT
@@ -47,8 +47,8 @@
         Data.GenRelativeValidity
     build-depends:
         base >=4.7 && <5,
-        validity >=0.4.0.1 && <0.5,
-        QuickCheck >=2.7 && <2.10
+        validity >=0.4.0.2 && <0.5,
+        QuickCheck >=2.7 && <2.11
     default-language: Haskell2010
     hs-source-dirs: src
 
diff --git a/src/Data/GenValidity.hs b/src/Data/GenValidity.hs
--- a/src/Data/GenValidity.hs
+++ b/src/Data/GenValidity.hs
@@ -63,7 +63,9 @@
 import Data.Validity
 
 import Data.Fixed (Fixed(..), HasResolution)
+#if MIN_VERSION_base(4,9,0)
 import Data.List.NonEmpty (NonEmpty((:|)))
+#endif
 import Data.Word (Word, Word8, Word16, Word32, Word64)
 import GHC.Generics
 import GHC.Real (Ratio(..))
@@ -289,6 +291,7 @@
     genUnchecked = genListOf genUnchecked
     shrinkUnchecked = shrinkList shrinkUnchecked
 
+#if MIN_VERSION_base(4,9,0)
 instance GenUnchecked a => GenUnchecked (NonEmpty a) where
     genUnchecked = (:|) <$> genUnchecked <*> genUnchecked
     shrinkUnchecked (v :| vs) = [ e :| es | (e, es) <- shrinkUnchecked (v, vs)]
@@ -303,6 +306,7 @@
         [ (:|) <$> resize a genUnchecked <*> resize b genInvalid
         , (:|) <$> resize a genInvalid <*> resize b genUnchecked
         ]
+#endif
 
 -- | If we can generate values of a certain type, we can also generate lists of
 -- them.
