diff --git a/pointed.cabal b/pointed.cabal
--- a/pointed.cabal
+++ b/pointed.cabal
@@ -1,6 +1,6 @@
 name:          pointed
 category:      Data
-version:       4.1
+version:       4.1.1
 license:       BSD3
 cabal-version: >= 1.6
 license-file:  LICENSE
@@ -23,6 +23,7 @@
   build-depends:
     base                 >= 4       && < 5,
     transformers         >= 0.2     && < 0.5,
+    transformers-compat  >= 0.3     && < 1,
     containers           >= 0.4     && < 0.6,
     comonad              >= 4       && < 5,
     data-default-class   >= 0.0.1   && < 0.1,
diff --git a/src/Data/Copointed.hs b/src/Data/Copointed.hs
--- a/src/Data/Copointed.hs
+++ b/src/Data/Copointed.hs
@@ -8,6 +8,7 @@
 import Data.Functor.Identity
 import Data.Functor.Compose
 import Data.Functor.Coproduct
+import qualified Data.Functor.Sum as F
 import Data.Tree
 import Data.Semigroup as Semigroup
 import Control.Monad.Trans.Identity
@@ -24,6 +25,10 @@
 
 class Copointed p where
   copoint :: p a -> a
+
+instance (Copointed f, Copointed g) => Copointed (F.Sum f g) where
+  copoint (F.InL m) = copoint m
+  copoint (F.InR m) = copoint m
 
 instance Copointed (Tagged a) where
   copoint = unTagged
diff --git a/src/Data/Pointed.hs b/src/Data/Pointed.hs
--- a/src/Data/Pointed.hs
+++ b/src/Data/Pointed.hs
@@ -19,16 +19,12 @@
 import Data.Functor.Constant
 import qualified Data.Functor.Product as Functor
 import Data.Functor.Compose
-#if MIN_VERSION_transformers(0,4,0)
 import Data.Functor.Reverse
 import Control.Applicative.Backwards
 import Control.Applicative.Lift
-#endif
 import Control.Monad.Trans.Cont
 import Control.Monad.Trans.Error
-#if MIN_VERSION_transformers(0,4,0)
 import Control.Monad.Trans.Except
-#endif
 import Control.Monad.Trans.List
 import Control.Monad.Trans.Maybe
 import Control.Monad.Trans.Identity
@@ -134,7 +130,6 @@
 instance (Pointed p, Pointed q) => Pointed (Compose p q) where
   point = Compose . point . point
 
-#if MIN_VERSION_transformers(0,4,0)
 instance Pointed f => Pointed (Reverse f) where
   point = Reverse . point
 
@@ -143,7 +138,6 @@
 
 instance Pointed (Lift f) where
   point = Pure
-#endif
 
 instance (Pointed p, Pointed q) => Pointed (Functor.Product p q) where
   point a = Functor.Pair (point a) (point a)
@@ -157,10 +151,8 @@
 instance Pointed m => Pointed (ErrorT e m) where
   point = ErrorT . point . Right
 
-#if MIN_VERSION_transformers(0,4,0)
 instance Pointed m => Pointed (ExceptT e m) where
   point = ExceptT . point . Right
-#endif
 
 instance Pointed m => Pointed (IdentityT m) where
   point = IdentityT . point
