diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,7 @@
+4.2.7.2
+-------
+* Compiles warning-free on GHC 7.10
+
 4.2.7.1
 -------
 * Use CPP
diff --git a/comonad.cabal b/comonad.cabal
--- a/comonad.cabal
+++ b/comonad.cabal
@@ -1,6 +1,6 @@
 name:          comonad
 category:      Control, Comonads
-version:       4.2.7.1
+version:       4.2.7.2
 license:       BSD3
 cabal-version: >= 1.10
 license-file:  LICENSE
@@ -69,7 +69,6 @@
 library
   hs-source-dirs: src
   default-language: Haskell2010
-  other-extensions: CPP
   ghc-options: -Wall
 
   build-depends:
@@ -106,8 +105,8 @@
     Data.Functor.Composition
     Data.Functor.Coproduct
 
-  default-extensions: CPP
   other-extensions:
+    CPP
     RankNTypes
     MultiParamTypeClasses
     FunctionalDependencies
diff --git a/src/Control/Comonad/Store/Class.hs b/src/Control/Comonad/Store/Class.hs
--- a/src/Control/Comonad/Store/Class.hs
+++ b/src/Control/Comonad/Store/Class.hs
@@ -1,8 +1,8 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE FunctionalDependencies #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE UndecidableInstances #-}
-{-# LANGUAGE CPP #-}
 #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
 {-# LANGUAGE Safe #-}
 #endif
@@ -28,7 +28,9 @@
 import qualified Control.Comonad.Trans.Store as Store
 import Control.Comonad.Trans.Traced
 import Control.Comonad.Trans.Identity
+#if __GLASGOW_HASKELL__ < 710
 import Data.Semigroup
+#endif
 
 class Comonad w => ComonadStore s w | w -> s where
   pos :: w a -> s
diff --git a/src/Control/Comonad/Traced/Class.hs b/src/Control/Comonad/Traced/Class.hs
--- a/src/Control/Comonad/Traced/Class.hs
+++ b/src/Control/Comonad/Traced/Class.hs
@@ -1,8 +1,8 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE FunctionalDependencies #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE UndecidableInstances #-}
-{-# LANGUAGE CPP #-}
 #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
 {-# LANGUAGE Safe #-}
 #endif
@@ -27,7 +27,9 @@
 import Control.Comonad.Trans.Store
 import qualified Control.Comonad.Trans.Traced as Traced
 import Control.Comonad.Trans.Identity
+#if __GLASGOW_HASKELL__ < 710
 import Data.Semigroup
+#endif
 
 class Comonad w => ComonadTraced m w | w -> m where
   trace :: m -> w a -> a
diff --git a/src/Control/Comonad/Trans/Env.hs b/src/Control/Comonad/Trans/Env.hs
--- a/src/Control/Comonad/Trans/Env.hs
+++ b/src/Control/Comonad/Trans/Env.hs
@@ -62,8 +62,10 @@
 import Control.Comonad
 import Control.Comonad.Hoist.Class
 import Control.Comonad.Trans.Class
+#if __GLASGOW_HASKELL__ < 710
 import Data.Foldable
 import Data.Traversable
+#endif
 import Data.Functor.Identity
 import Data.Semigroup
 
diff --git a/src/Control/Comonad/Trans/Store.hs b/src/Control/Comonad/Trans/Store.hs
--- a/src/Control/Comonad/Trans/Store.hs
+++ b/src/Control/Comonad/Trans/Store.hs
@@ -75,7 +75,9 @@
   , experiment
   ) where
 
+#if __GLASGOW_HASKELL__ < 710
 import Control.Applicative
+#endif
 import Control.Comonad
 import Control.Comonad.Hoist.Class
 import Control.Comonad.Trans.Class
diff --git a/src/Control/Comonad/Trans/Traced.hs b/src/Control/Comonad/Trans/Traced.hs
--- a/src/Control/Comonad/Trans/Traced.hs
+++ b/src/Control/Comonad/Trans/Traced.hs
@@ -36,21 +36,31 @@
   , censor
   ) where
 
+#if __GLASGOW_HASKELL__ < 710
 import Control.Applicative
-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ < 707
+#endif
+
+#if __GLASGOW_HASKELL__ < 707
 import Control.Monad.Instances ()
 #endif
+
 import Control.Monad (ap)
 import Control.Comonad
 import Control.Comonad.Hoist.Class
 import Control.Comonad.Trans.Class
-import Data.Functor.Identity
-import Data.Semigroup
-import Data.Typeable
 
 #ifdef MIN_VERSION_distributive
 import Data.Distributive
 #endif
+
+import Data.Functor.Identity
+
+#if __GLASGOW_HASKELL__ < 710
+import Data.Semigroup
+#endif
+
+import Data.Typeable
+
 
 type Traced m = TracedT m Identity
 
diff --git a/src/Data/Functor/Coproduct.hs b/src/Data/Functor/Coproduct.hs
--- a/src/Data/Functor/Coproduct.hs
+++ b/src/Data/Functor/Coproduct.hs
@@ -22,8 +22,10 @@
   ) where
 
 import Control.Comonad
+#if __GLASGOW_HASKELL__ < 710
 import Data.Foldable
 import Data.Traversable
+#endif
 
 #ifdef MIN_VERSION_contravariant
 import Data.Functor.Contravariant
diff --git a/tests/doctests.hsc b/tests/doctests.hsc
--- a/tests/doctests.hsc
+++ b/tests/doctests.hsc
@@ -16,7 +16,9 @@
 module Main where
 
 import Build_doctests (deps)
+#if __GLASGOW_HASKELL__ < 710
 import Control.Applicative
+#endif
 import Control.Monad
 import Data.List
 import System.Directory
