diff --git a/checkers.cabal b/checkers.cabal
--- a/checkers.cabal
+++ b/checkers.cabal
@@ -1,5 +1,5 @@
 Name:                checkers
-Version:             0.2.5
+Version:             0.2.6
 Cabal-Version:       >= 1.2
 Synopsis:            Check properties on standard classes and data structures.
 Category:            Testing
diff --git a/src/Control/Monad/Extensions.hs b/src/Control/Monad/Extensions.hs
--- a/src/Control/Monad/Extensions.hs
+++ b/src/Control/Monad/Extensions.hs
@@ -1,7 +1,6 @@
 module Control.Monad.Extensions (satisfiesM,if') where
 
-import Control.Applicative
-import Control.Monad
+import Control.Applicative (Applicative,liftA3)
 
 satisfiesM :: Monad m => (a -> Bool) -> m a -> m a
 satisfiesM p x = x >>= if' p return (const (satisfiesM p x))
diff --git a/src/Test/QuickCheck/Bottoms.hs b/src/Test/QuickCheck/Bottoms.hs
--- a/src/Test/QuickCheck/Bottoms.hs
+++ b/src/Test/QuickCheck/Bottoms.hs
@@ -28,7 +28,7 @@
             -- This one can yield an exception "thread blocked indefinitely"
             -- newEmptyMVar >>= takeMVar
             -- sjanssen suggests this alternative:
-            forever $ threadDelay maxBound
+            _ <- forever $ threadDelay maxBound
             -- forever's return type is (), though it could be fully
             -- polymorphic.  Until it's fixed, I need the following line.
             return undefined
diff --git a/src/Test/QuickCheck/Later.hs b/src/Test/QuickCheck/Later.hs
--- a/src/Test/QuickCheck/Later.hs
+++ b/src/Test/QuickCheck/Later.hs
@@ -78,5 +78,5 @@
 -- 
 -- TODO: Remove when this module is moved into the unamb-test package.
 delayForever :: a
-delayForever = unsafePerformIO $ do forever (threadDelay maxBound)
+delayForever = unsafePerformIO $ do _ <- forever (threadDelay maxBound)
                                     return undefined
