diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,7 @@
+3.2.1
+-----
+* Add support for `semigroupoids` 5 and GHC 7.10
+
 3.2
 ---
 * Switched to `tabulate` and `index` from `adjunctions`. Note: this reversed the argument order to `index`.
diff --git a/src/Data/Stream/Future.hs b/src/Data/Stream/Future.hs
--- a/src/Data/Stream/Future.hs
+++ b/src/Data/Stream/Future.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE BangPatterns #-}
 {-# LANGUAGE CPP #-}
-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
+#if __GLASGOW_HASKELL__ >= 702 && __GLASGOW_HASKELL__ < 710
 {-# LANGUAGE Trustworthy #-}
 #endif
 -----------------------------------------------------------------------------
@@ -27,9 +27,13 @@
   ) where
 
 import Prelude hiding (head, tail, map, length)
+#if !(MIN_VERSION_base(4,8,0))
 import Control.Applicative
+#endif
 import Control.Comonad
+#if !(MIN_VERSION_base(4,8,0))
 import Data.Foldable
+#endif
 import Data.Functor.Alt
 import Data.Functor.Extend
 import Data.Traversable
diff --git a/src/Data/Stream/Future/Skew.hs b/src/Data/Stream/Future/Skew.hs
--- a/src/Data/Stream/Future/Skew.hs
+++ b/src/Data/Stream/Future/Skew.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE PatternGuards, BangPatterns #-}
 {-# LANGUAGE CPP #-}
-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
+#if __GLASGOW_HASKELL__ >= 702 && __GLASGOW_HASKELL__ < 710
 {-# LANGUAGE Trustworthy #-}
 #endif
 -----------------------------------------------------------------------------
@@ -54,8 +54,12 @@
 import Control.Comonad
 import Data.Functor.Alt
 import Data.Functor.Extend
+#if MIN_VERSION_base(4,8,0)
+import Data.Foldable hiding (toList, length)
+#else
 import Data.Foldable hiding (toList)
 import Data.Traversable (Traversable, traverse)
+#endif
 import Data.Semigroup hiding (Last)
 import Data.Semigroup.Foldable
 import Data.Semigroup.Traversable
diff --git a/src/Data/Stream/Infinite.hs b/src/Data/Stream/Infinite.hs
--- a/src/Data/Stream/Infinite.hs
+++ b/src/Data/Stream/Infinite.hs
@@ -80,16 +80,20 @@
   , splitAt, foldr
   )
 
+#if !(MIN_VERSION_base(4,8,0))
 import Control.Applicative
+#endif
 import Control.Comonad
 import Data.Char (isSpace)
 import Data.Data
 import Data.Functor.Apply
 import Data.Functor.Extend
 import Data.Functor.Rep
+#if !(MIN_VERSION_base(4,8,0))
 import Data.Semigroup
-import Data.Foldable
 import Data.Traversable
+#endif
+import Data.Foldable
 import Data.Distributive
 import Data.Semigroup.Traversable
 import Data.Semigroup.Foldable
diff --git a/src/Data/Stream/Infinite/Functional/Zipper.hs b/src/Data/Stream/Infinite/Functional/Zipper.hs
--- a/src/Data/Stream/Infinite/Functional/Zipper.hs
+++ b/src/Data/Stream/Infinite/Functional/Zipper.hs
@@ -1,5 +1,5 @@
 {-# LANGUAGE CPP, PatternGuards, BangPatterns #-}
-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
+#if __GLASGOW_HASKELL__ >= 702 && __GLASGOW_HASKELL__ < 710
 {-# LANGUAGE Trustworthy #-}
 #endif
 -----------------------------------------------------------------------------
diff --git a/src/Data/Stream/Supply.hs b/src/Data/Stream/Supply.hs
--- a/src/Data/Stream/Supply.hs
+++ b/src/Data/Stream/Supply.hs
@@ -42,14 +42,18 @@
   , split4
   ) where
 
+#if !(MIN_VERSION_base(4,8,0))
 import Control.Applicative
+#endif
 import Control.Comonad
 import Data.Functor.Apply
 import Data.Functor.Extend
 import Data.Functor.Rep
-import Data.Foldable
 import Data.IORef(newIORef, atomicModifyIORef)
+#if !(MIN_VERSION_base(4,8,0))
+import Data.Foldable
 import Data.Traversable
+#endif
 import Data.Semigroup
 import Data.Semigroup.Foldable
 import Data.Semigroup.Traversable
diff --git a/streams.cabal b/streams.cabal
--- a/streams.cabal
+++ b/streams.cabal
@@ -1,6 +1,6 @@
 name:          streams
 category:      Control, Comonads
-version:       3.2
+version:       3.2.1
 license:       BSD3
 cabal-version: >= 1.6
 license-file:  LICENSE
@@ -72,7 +72,7 @@
     adjunctions   >= 4.0.1   && < 5,
     comonad       >= 4       && < 5,
     distributive  >= 0.2.1   && < 1,
-    semigroupoids >= 4       && < 5,
+    semigroupoids >= 4       && < 6,
     semigroups    >= 0.8.3.1 && < 1
 
   extensions: CPP
