diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -4,6 +4,11 @@
 The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
 and this project adheres to the [Haskell Package Versioning Policy](https://pvp.haskell.org/).
 
+## [0.4.14.3] - 2018-09-21
+### Change
+- Fix a CPP conditional import problem that caused build failures on GHC 7.10
+- Set an explicit lower bound for containers
+
 ## [0.4.14.2] - 2018-09-12
 ### Change
 - Support QuickCheck-2.12
diff --git a/quickcheck-classes.cabal b/quickcheck-classes.cabal
--- a/quickcheck-classes.cabal
+++ b/quickcheck-classes.cabal
@@ -1,5 +1,5 @@
 name: quickcheck-classes
-version: 0.4.14.2
+version: 0.4.14.3
 synopsis: QuickCheck common typeclasses
 description:
   This library provides QuickCheck properties to ensure
@@ -86,11 +86,11 @@
     , QuickCheck >= 2.9
     , transformers >= 0.3 && < 0.6
     , primitive >= 0.6.1 && < 0.7
-    , containers >= 0.5
+    , containers >= 0.4.2.1
     , semigroups
     , tagged
   if flag(aeson)
-    build-depends: aeson
+    build-depends: aeson >= 1.1
   if flag(semigroupoids)
     build-depends: semigroupoids 
   if flag(semirings)
diff --git a/src/Test/QuickCheck/Classes/Common.hs b/src/Test/QuickCheck/Classes/Common.hs
--- a/src/Test/QuickCheck/Classes/Common.hs
+++ b/src/Test/QuickCheck/Classes/Common.hs
@@ -18,7 +18,7 @@
   , LastNothing(..)
   , Bottom(..)
   , LinearEquation(..)
-#if MIN_VERSION_base(4,9,0) || MIN_VERSION_transformers(0,5,0)
+#if MIN_VERSION_base(4,8,0) || MIN_VERSION_transformers(0,4,0)
   , LinearEquationM(..)
 #endif
   , QuadraticEquation(..)
@@ -42,7 +42,7 @@
   , func6
   , reverseTriple
   , runLinearEquation
-#if MIN_VERSION_base(4,8,0) || MIN_VERSION_transformers(0,5,0)
+#if MIN_VERSION_base(4,8,0) || MIN_VERSION_transformers(0,4,0)
   , runLinearEquationM
 #endif
   , runQuadraticEquation
@@ -327,7 +327,7 @@
   ++ L.intersperse (SG.Endo (showChar ',')) (map (SG.Endo . showLinear 0) xs)
   ++ [SG.Endo (showChar ']')]
 
-#if MIN_VERSION_base(4,8,0) || MIN_VERSION_transformers(0,5,0)
+#if MIN_VERSION_base(4,8,0) || MIN_VERSION_transformers(0,4,0)
 data LinearEquationM m = LinearEquationM (m LinearEquation) (m LinearEquation)
 
 runLinearEquationM :: Monad m => LinearEquationM m -> Integer -> m Integer
diff --git a/src/Test/QuickCheck/Classes/MonadPlus.hs b/src/Test/QuickCheck/Classes/MonadPlus.hs
--- a/src/Test/QuickCheck/Classes/MonadPlus.hs
+++ b/src/Test/QuickCheck/Classes/MonadPlus.hs
@@ -6,28 +6,27 @@
 module Test.QuickCheck.Classes.MonadPlus
   (
 #if MIN_VERSION_QuickCheck(2,10,0)
-#if MIN_VERSION_base(4,9,0) || MIN_VERSION_transformers(0,4,0)
+#if MIN_VERSION_base(4,8,0) || MIN_VERSION_transformers(0,4,0)
     monadPlusLaws
 #endif
 #endif
   ) where
 
 import Test.QuickCheck hiding ((.&.))
+import Test.QuickCheck.Property (Property)
+import Test.QuickCheck.Classes.Common
+
 #if MIN_VERSION_QuickCheck(2,10,0)
 import Control.Applicative(Alternative(empty))
 import Control.Monad (MonadPlus(mzero,mplus))
 import Test.QuickCheck.Arbitrary (Arbitrary1(..))
-#if MIN_VERSION_base(4,9,0) || MIN_VERSION_transformers(0,4,0)
+#if MIN_VERSION_base(4,8,0) || MIN_VERSION_transformers(0,4,0)
 import Data.Functor.Classes
 #endif
 #endif
-import Test.QuickCheck.Property (Property)
 
-import Test.QuickCheck.Classes.Common
-
 #if MIN_VERSION_QuickCheck(2,10,0)
-
-#if MIN_VERSION_base(4,9,0) || MIN_VERSION_transformers(0,4,0)
+#if MIN_VERSION_base(4,8,0) || MIN_VERSION_transformers(0,4,0)
 
 -- | Tests the following monad plus properties:
 --
@@ -66,6 +65,5 @@
 monadPlusRightZero _ = property $ \(Apply (a :: f Integer)) -> eq1 (a >> (mzero :: f Integer)) mzero
 
 #endif
-
 #endif
 
