diff --git a/Control/Cond.hs b/Control/Cond.hs
--- a/Control/Cond.hs
+++ b/Control/Cond.hs
@@ -181,8 +181,10 @@
             (v, Continue) -> return (v, Recurse (n >>= k))
             x@_ -> return x
     {-# INLINEABLE (>>=) #-}
+#if __GLASGOW_HASKELL__ >= 710
     {-# SPECIALIZE (>>=)
           :: CondT e IO a -> (a -> CondT e IO b) -> CondT e IO b #-}
+#endif
 
 instance MonadReader r m => MonadReader r (CondT a m) where
     ask = lift R.ask
@@ -219,7 +221,9 @@
             x@(Just _, _) -> return x
             _ -> g
     {-# INLINEABLE (<|>) #-}
+#if __GLASGOW_HASKELL__ >= 710
     {-# SPECIALIZE (<|>) :: CondT a IO a -> CondT a IO a -> CondT a IO a #-}
+#endif
 
 instance Monad m => MonadPlus (CondT a m) where
     mzero = CondT $ return recurse'
@@ -230,7 +234,9 @@
             x@(Just _, _) -> return x
             _ -> g
     {-# INLINEABLE mplus #-}
+#if __GLASGOW_HASKELL__ >= 710
     {-# SPECIALIZE mplus :: CondT a IO a -> CondT a IO a -> CondT a IO a #-}
+#endif
 
 instance MonadError e m => MonadError e (CondT a m) where
     throwError = CondT . throwError
@@ -325,8 +331,10 @@
     recursorToMaybe p Continue    = Just p
     recursorToMaybe _ (Recurse n) = Just n
 {-# INLINEABLE runCondT #-}
+#if __GLASGOW_HASKELL__ >= 710
 {-# SPECIALIZE runCondT
       :: a -> CondT a IO r -> IO ((Maybe r, Maybe (CondT a IO r)), a) #-}
+#endif
 
 runCond :: a -> Cond a r -> Maybe r
 runCond = ((fst . fst . runIdentity) .) . runCondT
diff --git a/hierarchy.cabal b/hierarchy.cabal
--- a/hierarchy.cabal
+++ b/hierarchy.cabal
@@ -1,5 +1,5 @@
 name:          hierarchy
-version:       0.3.0
+version:       0.3.1
 synopsis:      Pipes-based library for predicated traversal of generated trees
 description:   Pipes-based library for predicated traversal of generated trees
 homepage:      https://github.com/jwiegley/hierarchy
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -1,15 +1,15 @@
 module Main where
 
-import Control.Cond
-import Control.Monad
-import Data.List
-import Pipes
-import Pipes.Prelude (toListM)
-import Pipes.Tree
+-- import Control.Cond
+-- import Control.Monad
+-- import Data.List
+-- import Pipes
+-- import Pipes.Prelude (toListM)
+-- import Pipes.Tree
 import Test.Hspec
-import Test.Hspec.Expectations
+-- import Test.Hspec.Expectations
 
 main :: IO ()
-main = hspec $ do
-    describe "Sanity tests" $ do
+main = hspec $
+    describe "Sanity tests" $
         it "No tests yet" $ True `shouldBe` True
