diff --git a/checkers.cabal b/checkers.cabal
--- a/checkers.cabal
+++ b/checkers.cabal
@@ -1,5 +1,5 @@
 Name:                checkers
-Version:             0.5.1
+Version:             0.5.2
 Cabal-Version:       >= 1.6
 Synopsis:            Check properties on standard classes and data structures.
 Category:            Testing
diff --git a/src/Test/QuickCheck/Classes.hs b/src/Test/QuickCheck/Classes.hs
--- a/src/Test/QuickCheck/Classes.hs
+++ b/src/Test/QuickCheck/Classes.hs
@@ -4,8 +4,10 @@
 
 {-# OPTIONS_GHC -Wall #-}
 
+#if MIN_VERSION_base(4,9,0)
 -- https://github.com/conal/checkers/pull/38
 {-# OPTIONS_GHC -Wno-redundant-constraints #-}
+#endif
 ----------------------------------------------------------------------
 -- |
 -- Module      :  Test.QuickCheck.Classes
diff --git a/src/Test/QuickCheck/Instances/Array.hs b/src/Test/QuickCheck/Instances/Array.hs
--- a/src/Test/QuickCheck/Instances/Array.hs
+++ b/src/Test/QuickCheck/Instances/Array.hs
@@ -1,4 +1,10 @@
+{-# LANGUAGE CPP #-}
 {-# OPTIONS_GHC -Wall -fno-warn-orphans #-}
+#if MIN_VERSION_base(4,9,0)
+-- https://github.com/conal/checkers/pull/38
+{-# OPTIONS_GHC -Wno-redundant-constraints #-}
+#endif
+
 module Test.QuickCheck.Instances.Array where
 
 import Test.QuickCheck
@@ -8,5 +14,5 @@
   arbitrary   =
     (\x -> listArray (0,fromIntegral (length x - 1)) x) <$> arbitrary
 
-instance CoArbitrary b => CoArbitrary (Array a b) where
+instance (Ix a, CoArbitrary b) => CoArbitrary (Array a b) where
   coarbitrary = coarbitrary . elems
