diff --git a/Control/Comonad/Trans/Discont.hs b/Control/Comonad/Trans/Discont.hs
--- a/Control/Comonad/Trans/Discont.hs
+++ b/Control/Comonad/Trans/Discont.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE RankNTypes #-}
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Control.Comonad.Trans.Discont
@@ -8,49 +7,14 @@
 -- Maintainer  :  Edward Kmett <ekmett@gmail.com>
 -- Stability   :  provisional
 -- Portability :  portable
--- 
--- Discont is the Density comonad of a constant functor, just as Cont is a 
--- Codensity monad of a constant functor.
 --
--- Note that Discont and Context are isomorphic, but DiscontT and ContextT are
--- not.
+-- The discontinuation comonad transformer.
+-- This version is lazy; for a strict version, see
+-- "Control.Comonad.Trans.Discont.Strict", which has the same interface.
 --
 ----------------------------------------------------------------------------
 module Control.Comonad.Trans.Discont
-  ( Discont
-  , discont
-  , runDiscont
-  , DiscontT(..)
-  , runDiscontT
-  , callCV
+  ( module Control.Comonad.Trans.Discont.Lazy
   ) where
 
-import Data.Functor.Identity
-import Control.Comonad
-import Control.Comonad.Trans.Class
-
-type Discont s = DiscontT s Identity
-
-data DiscontT s w a = DiscontT (w s -> a) (w s)
-
-discont :: (s -> a) -> s -> Discont s a 
-discont f s = DiscontT (f . runIdentity) (Identity s)
-
-runDiscont :: Discont s a -> (s -> a, s) 
-runDiscont (DiscontT f (Identity s)) = (f . Identity,  s)
-
-runDiscontT :: DiscontT s w a -> (w s -> a, w s)
-runDiscontT (DiscontT f s) = (f, s)
-
-instance Functor w => Functor (DiscontT s w) where
-  fmap g (DiscontT f ws) = DiscontT (g . f) ws
-
-instance Comonad w => Comonad (DiscontT s w) where
-  extract (DiscontT f ws) = f ws
-  duplicate (DiscontT f ws) = DiscontT (DiscontT f) ws
-
-instance ComonadTrans (DiscontT s) where
-  lower (DiscontT f s) = extend f s
-
-callCV :: DiscontT s w (DiscontT s w (DiscontT s w a -> a) -> b) -> b
-callCV (DiscontT k s) = k s (DiscontT (\s' (DiscontT k' _) -> k' s') s)
+import Control.Comonad.Trans.Discont.Lazy
diff --git a/Control/Comonad/Trans/Discont/Lazy.hs b/Control/Comonad/Trans/Discont/Lazy.hs
new file mode 100644
--- /dev/null
+++ b/Control/Comonad/Trans/Discont/Lazy.hs
@@ -0,0 +1,60 @@
+{-# LANGUAGE RankNTypes #-}
+-----------------------------------------------------------------------------
+-- |
+-- Module      :  Control.Comonad.Trans.Discont.Lazy
+-- Copyright   :  (C) 2008-2011 Edward Kmett
+-- License     :  BSD-style (see the file LICENSE)
+--
+-- Maintainer  :  Edward Kmett <ekmett@gmail.com>
+-- Stability   :  provisional
+-- Portability :  portable
+-- 
+-- Discont is the Density comonad of a constant functor, just as Cont is a 
+-- Codensity monad of a constant functor.
+--
+-- Note that Discont and Context are isomorphic, but DiscontT and ContextT are
+-- not.
+--
+----------------------------------------------------------------------------
+module Control.Comonad.Trans.Discont.Lazy
+  ( 
+  -- * The 'discontinuation' comonad
+    Discont
+  , discont
+  -- * The discontinuation comonad transformer
+  , runDiscont
+  , DiscontT(..)
+  , runDiscontT
+  -- * Combinators
+  , callCV
+  ) where
+
+import Data.Functor.Identity
+import Control.Comonad
+import Control.Comonad.Trans.Class
+
+type Discont s = DiscontT s Identity
+
+data DiscontT s w a = DiscontT (w s -> a) (w s)
+
+discont :: (s -> a) -> s -> Discont s a 
+discont f s = DiscontT (f . runIdentity) (Identity s)
+
+runDiscont :: Discont s a -> (s -> a, s) 
+runDiscont ~(DiscontT f (Identity s)) = (f . Identity,  s)
+
+runDiscontT :: DiscontT s w a -> (w s -> a, w s)
+runDiscontT ~(DiscontT f s) = (f, s)
+
+instance Functor w => Functor (DiscontT s w) where
+  fmap g ~(DiscontT f ws) = DiscontT (g . f) ws
+
+instance Comonad w => Comonad (DiscontT s w) where
+  extract ~(DiscontT f ws) = f ws
+  duplicate ~(DiscontT f ws) = DiscontT (DiscontT f) ws
+
+instance ComonadTrans (DiscontT s) where
+  lower ~(DiscontT f s) = extend f s
+
+callCV :: DiscontT s w (DiscontT s w (DiscontT s w a -> a) -> b) -> b
+callCV ~(DiscontT k s) = k s (DiscontT (\s' ~(DiscontT k' _) -> k' s') s)
diff --git a/Control/Comonad/Trans/Discont/Strict.hs b/Control/Comonad/Trans/Discont/Strict.hs
new file mode 100644
--- /dev/null
+++ b/Control/Comonad/Trans/Discont/Strict.hs
@@ -0,0 +1,60 @@
+{-# LANGUAGE RankNTypes #-}
+-----------------------------------------------------------------------------
+-- |
+-- Module      :  Control.Comonad.Trans.Discont.Strict
+-- Copyright   :  (C) 2008-2011 Edward Kmett
+-- License     :  BSD-style (see the file LICENSE)
+--
+-- Maintainer  :  Edward Kmett <ekmett@gmail.com>
+-- Stability   :  provisional
+-- Portability :  portable
+-- 
+-- Discont is the Density comonad of a constant functor, just as Cont is a 
+-- Codensity monad of a constant functor.
+--
+-- Note that Discont and Context are isomorphic, but DiscontT and ContextT are
+-- not.
+--
+----------------------------------------------------------------------------
+module Control.Comonad.Trans.Discont.Strict
+  ( 
+  -- * The 'discontinuation' comonad
+    Discont
+  , discont
+  -- * The discontinuation comonad transformer
+  , runDiscont
+  , DiscontT(..)
+  , runDiscontT
+  -- * Combinators
+  , callCV
+  ) where
+
+import Data.Functor.Identity
+import Control.Comonad
+import Control.Comonad.Trans.Class
+
+type Discont s = DiscontT s Identity
+
+data DiscontT s w a = DiscontT (w s -> a) (w s)
+
+discont :: (s -> a) -> s -> Discont s a 
+discont f s = DiscontT (f . runIdentity) (Identity s)
+
+runDiscont :: Discont s a -> (s -> a, s) 
+runDiscont (DiscontT f (Identity s)) = (f . Identity,  s)
+
+runDiscontT :: DiscontT s w a -> (w s -> a, w s)
+runDiscontT (DiscontT f s) = (f, s)
+
+instance Functor w => Functor (DiscontT s w) where
+  fmap g (DiscontT f ws) = DiscontT (g . f) ws
+
+instance Comonad w => Comonad (DiscontT s w) where
+  extract (DiscontT f ws) = f ws
+  duplicate (DiscontT f ws) = DiscontT (DiscontT f) ws
+
+instance ComonadTrans (DiscontT s) where
+  lower (DiscontT f s) = extend f s
+
+callCV :: DiscontT s w (DiscontT s w (DiscontT s w a -> a) -> b) -> b
+callCV (DiscontT k s) = k s (DiscontT (\s' (DiscontT k' _) -> k' s') s)
diff --git a/Control/Comonad/Trans/Env.hs b/Control/Comonad/Trans/Env.hs
--- a/Control/Comonad/Trans/Env.hs
+++ b/Control/Comonad/Trans/Env.hs
@@ -9,48 +9,12 @@
 -- Portability :  portable
 --
 -- The environment comonad transformer (aka coreader).
--- This adds an extra value that can be accessed in the environment.
+-- This version is lazy; for a strict version, see
+-- "Control.Comonad.Trans.Env.Strict", which has the same interface.
 --
--- Left adjoint to the reader comonad.
 ----------------------------------------------------------------------------
 module Control.Comonad.Trans.Env
-  ( Env
-  , env
-  , runEnv
-  , EnvT(..)
-  , runEnvT
-  , ask
+  ( module Control.Comonad.Trans.Env.Lazy
   ) where
 
-import Control.Comonad
-import Control.Comonad.Trans.Class
-import Control.Comonad.Hoist.Class
-import Data.Functor.Identity
-
-type Env e = EnvT e Identity
-data EnvT e w a = EnvT e (w a)
-
-env :: e -> a -> Env e a
-env e a = EnvT e (Identity a)
-
-runEnv :: Env e a -> (e, a)
-runEnv (EnvT e (Identity a)) = (e, a)
-
-runEnvT :: EnvT e w a -> (e, w a)
-runEnvT (EnvT e wa) = (e, wa)
-
-instance Functor w => Functor (EnvT e w) where
-  fmap g (EnvT e wa) = EnvT e (fmap g wa)
-
-instance Comonad w => Comonad (EnvT e w) where
-  extract (EnvT _ wa) = extract wa
-  duplicate p@(EnvT e wa) = EnvT e (p <$ wa)
-
-instance ComonadTrans (EnvT e) where
-  lower (EnvT _ wa) = wa
-
-instance ComonadHoist (EnvT e) where
-  cohoist (EnvT e wa) = EnvT e (Identity (extract wa))
-
-ask :: EnvT e w a -> e
-ask (EnvT e _) = e
+import Control.Comonad.Trans.Env.Lazy
diff --git a/Control/Comonad/Trans/Env/Lazy.hs b/Control/Comonad/Trans/Env/Lazy.hs
new file mode 100644
--- /dev/null
+++ b/Control/Comonad/Trans/Env/Lazy.hs
@@ -0,0 +1,68 @@
+-----------------------------------------------------------------------------
+-- |
+-- Module      :  Control.Comonad.Trans.Context
+-- Copyright   :  (C) 2008-2011 Edward Kmett
+-- License     :  BSD-style (see the file LICENSE)
+--
+-- Maintainer  :  Edward Kmett <ekmett@gmail.com>
+-- Stability   :  provisional
+-- Portability :  portable
+--
+-- The environment comonad transformer (aka coreader).
+-- This adds an extra value that can be accessed in the environment.
+--
+-- Left adjoint to the reader comonad.
+----------------------------------------------------------------------------
+module Control.Comonad.Trans.Env.Lazy
+  ( 
+  -- * The environment comonad
+    Env
+  , env
+  , runEnv
+  -- * The environment comonad transformer
+  , EnvT
+  , runEnvT
+  -- * Combinators
+  , ask
+  , asks
+  , local
+  ) where
+
+import Control.Comonad
+import Control.Comonad.Trans.Class
+import Control.Comonad.Hoist.Class
+import Data.Functor.Identity
+
+type Env e = EnvT e Identity
+data EnvT e w a = EnvT e (w a)
+
+env :: e -> a -> Env e a
+env e a = EnvT e (Identity a)
+
+runEnv :: Env e a -> (e, a)
+runEnv ~(EnvT e (Identity a)) = (e, a)
+
+runEnvT :: EnvT e w a -> (e, w a)
+runEnvT ~(EnvT e wa) = (e, wa)
+
+instance Functor w => Functor (EnvT e w) where
+  fmap g ~(EnvT e wa) = EnvT e (fmap g wa)
+
+instance Comonad w => Comonad (EnvT e w) where
+  extract ~(EnvT _ wa) = extract wa
+  duplicate p@(~(EnvT e wa)) = EnvT e (p <$ wa)
+
+instance ComonadTrans (EnvT e) where
+  lower ~(EnvT _ wa) = wa
+
+instance ComonadHoist (EnvT e) where
+  cohoist ~(EnvT e wa) = EnvT e (Identity (extract wa))
+
+ask :: EnvT e w a -> e
+ask ~(EnvT e _) = e
+
+asks :: (e -> f) -> EnvT e w a -> f
+asks f = f . ask
+
+local :: (e -> e) -> EnvT e w a -> EnvT e w a
+local f ~(EnvT e wa) = EnvT (f e) wa
diff --git a/Control/Comonad/Trans/Env/Strict.hs b/Control/Comonad/Trans/Env/Strict.hs
new file mode 100644
--- /dev/null
+++ b/Control/Comonad/Trans/Env/Strict.hs
@@ -0,0 +1,68 @@
+-----------------------------------------------------------------------------
+-- |
+-- Module      :  Control.Comonad.Trans.Env.Strict
+-- Copyright   :  (C) 2008-2011 Edward Kmett
+-- License     :  BSD-style (see the file LICENSE)
+--
+-- Maintainer  :  Edward Kmett <ekmett@gmail.com>
+-- Stability   :  provisional
+-- Portability :  portable
+--
+-- The environment comonad transformer (aka coreader).
+-- This adds an extra value that can be accessed in the environment.
+--
+-- Left adjoint to the reader comonad.
+----------------------------------------------------------------------------
+module Control.Comonad.Trans.Env.Strict
+  ( 
+  -- * The strict environment comonad
+    Env
+  , env
+  , runEnv
+  -- * The strict environment comonad transformer
+  , EnvT(..)
+  , runEnvT
+  -- * Combinators
+  , ask
+  , asks
+  , local
+  ) where
+
+import Control.Comonad
+import Control.Comonad.Trans.Class
+import Control.Comonad.Hoist.Class
+import Data.Functor.Identity
+
+type Env e = EnvT e Identity
+data EnvT e w a = EnvT e (w a)
+
+env :: e -> a -> Env e a
+env e a = EnvT e (Identity a)
+
+runEnv :: Env e a -> (e, a)
+runEnv (EnvT e (Identity a)) = (e, a)
+
+runEnvT :: EnvT e w a -> (e, w a)
+runEnvT (EnvT e wa) = (e, wa)
+
+instance Functor w => Functor (EnvT e w) where
+  fmap g (EnvT e wa) = EnvT e (fmap g wa)
+
+instance Comonad w => Comonad (EnvT e w) where
+  extract (EnvT _ wa) = extract wa
+  duplicate p@(EnvT e wa) = EnvT e (p <$ wa)
+
+instance ComonadTrans (EnvT e) where
+  lower (EnvT _ wa) = wa
+
+instance ComonadHoist (EnvT e) where
+  cohoist (EnvT e wa) = EnvT e (Identity (extract wa))
+
+ask :: EnvT e w a -> e
+ask (EnvT e _) = e
+
+asks :: (e -> f) -> EnvT e w a -> f
+asks f (EnvT e _) = f e
+
+local :: (e -> e) -> EnvT e w a -> EnvT e w a
+local f (EnvT e wa) = EnvT (f e) wa
diff --git a/Control/Comonad/Trans/Store.hs b/Control/Comonad/Trans/Store.hs
--- a/Control/Comonad/Trans/Store.hs
+++ b/Control/Comonad/Trans/Store.hs
@@ -1,6 +1,6 @@
 -----------------------------------------------------------------------------
 -- |
--- Module      :  Control.Comonad.Trans.Store
+-- Module      :  Control.Comonad.Trans.Context
 -- Copyright   :  (C) 2008-2011 Edward Kmett
 -- License     :  BSD-style (see the file LICENSE)
 --
@@ -8,68 +8,13 @@
 -- Stability   :  provisional
 -- Portability :  portable
 --
--- The store (state-in-context/costate) comonad transformer is subject to the laws:
--- 
--- > x = put (get x) x
--- > y = get (put y x)
--- > put y x = put y (put z x)
+-- The store comonad transformer (aka costate).
+-- This version is lazy; for a strict version, see
+-- "Control.Comonad.Trans.Store.Strict", which has the same interface.
 --
--- Thanks go to Russell O'Connor and Daniel Peebles for their help formulating 
--- and proving the laws for this comonad transformer.
 ----------------------------------------------------------------------------
-module Control.Comonad.Trans.Store 
-  ( 
-  -- * The Store comonad
-    Store, store, runStore
-  -- * The Store comonad transformer
-  , StoreT(..), runStoreT
-  -- * Operations
-  , get
-  , put
-  , modify
-  , experiment
+module Control.Comonad.Trans.Store
+  ( module Control.Comonad.Trans.Store.Lazy
   ) where
 
-import Control.Comonad
-import Control.Comonad.Hoist.Class
-import Control.Comonad.Trans.Class
-import Data.Functor.Identity
-
-type Store s = StoreT s Identity
-
-store :: (s -> a) -> s -> Store s a 
-store f s = StoreT (Identity f) s
-
-runStore :: Store s a -> (s -> a, s)
-runStore (StoreT (Identity f) s) = (f, s)
-
-data StoreT s w a = StoreT (w (s -> a)) s
-
-runStoreT :: StoreT s w a -> (w (s -> a), s)
-runStoreT (StoreT wf s) = (wf, s)
-
-instance Functor w => Functor (StoreT s w) where
-  fmap f (StoreT wf s) = StoreT (fmap (f .) wf) s
-
-instance Comonad w => Comonad (StoreT s w) where
-  extract (StoreT wf s) = extract wf s
-  duplicate (StoreT wf s) = StoreT (extend StoreT wf) s
-  extend f (StoreT wf s) = StoreT (extend (\wf' s' -> f (StoreT wf' s')) wf) s
-
-instance ComonadTrans (StoreT s) where
-  lower (StoreT f s) = fmap ($s) f
-
-instance ComonadHoist (StoreT s) where
-  cohoist (StoreT f s) = StoreT (Identity (extract f)) s
-
-get :: StoreT s w a -> s
-get (StoreT _ s) = s
-
-put :: Comonad w => s -> StoreT s w a -> a 
-put s (StoreT f _) = extract f s
-
-modify :: Comonad w => (s -> s) -> StoreT s w a -> a
-modify f (StoreT g s) = extract g (f s)
-
-experiment :: (Comonad w, Functor f) => f (s -> s) -> StoreT s w a -> f a
-experiment fs (StoreT g s) = fmap (\f -> extract g (f s)) fs
+import Control.Comonad.Trans.Store.Lazy
diff --git a/Control/Comonad/Trans/Store/Lazy.hs b/Control/Comonad/Trans/Store/Lazy.hs
new file mode 100644
--- /dev/null
+++ b/Control/Comonad/Trans/Store/Lazy.hs
@@ -0,0 +1,75 @@
+-----------------------------------------------------------------------------
+-- |
+-- Module      :  Control.Comonad.Trans.Store.Lazy
+-- Copyright   :  (C) 2008-2011 Edward Kmett
+-- License     :  BSD-style (see the file LICENSE)
+--
+-- Maintainer  :  Edward Kmett <ekmett@gmail.com>
+-- Stability   :  provisional
+-- Portability :  portable
+--
+-- The lazy store (state-in-context/costate) comonad transformer is subject to the laws:
+-- 
+-- > x = put (get x) x
+-- > y = get (put y x)
+-- > put y x = put y (put z x)
+--
+-- Thanks go to Russell O'Connor and Daniel Peebles for their help formulating 
+-- and proving the laws for this comonad transformer.
+----------------------------------------------------------------------------
+module Control.Comonad.Trans.Store.Lazy
+  ( 
+  -- * The Store comonad
+    Store, store, runStore
+  -- * The Store comonad transformer
+  , StoreT(..), runStoreT
+  -- * Operations
+  , get
+  , put
+  , modify
+  , experiment
+  ) where
+
+import Control.Comonad
+import Control.Comonad.Hoist.Class
+import Control.Comonad.Trans.Class
+import Data.Functor.Identity
+
+type Store s = StoreT s Identity
+
+store :: (s -> a) -> s -> Store s a 
+store f s = StoreT (Identity f) s
+
+runStore :: Store s a -> (s -> a, s)
+runStore ~(StoreT (Identity f) s) = (f, s)
+
+data StoreT s w a = StoreT (w (s -> a)) s
+
+runStoreT :: StoreT s w a -> (w (s -> a), s)
+runStoreT ~(StoreT wf s) = (wf, s)
+
+instance Functor w => Functor (StoreT s w) where
+  fmap f ~(StoreT wf s) = StoreT (fmap (f .) wf) s
+
+instance Comonad w => Comonad (StoreT s w) where
+  extract ~(StoreT wf s) = extract wf s
+  duplicate ~(StoreT wf s) = StoreT (extend StoreT wf) s
+  extend f ~(StoreT wf s) = StoreT (extend (\wf' s' -> f (StoreT wf' s')) wf) s
+
+instance ComonadTrans (StoreT s) where
+  lower ~(StoreT f s) = fmap ($s) f
+
+instance ComonadHoist (StoreT s) where
+  cohoist ~(StoreT f s) = StoreT (Identity (extract f)) s
+
+get :: StoreT s w a -> s
+get ~(StoreT _ s) = s
+
+put :: Comonad w => s -> StoreT s w a -> a 
+put s ~(StoreT f _) = extract f s
+
+modify :: Comonad w => (s -> s) -> StoreT s w a -> a
+modify f ~(StoreT g s) = extract g (f s)
+
+experiment :: (Comonad w, Functor f) => f (s -> s) -> StoreT s w a -> f a
+experiment fs ~(StoreT g s) = fmap (\f -> extract g (f s)) fs
diff --git a/Control/Comonad/Trans/Store/Strict.hs b/Control/Comonad/Trans/Store/Strict.hs
new file mode 100644
--- /dev/null
+++ b/Control/Comonad/Trans/Store/Strict.hs
@@ -0,0 +1,75 @@
+-----------------------------------------------------------------------------
+-- |
+-- Module      :  Control.Comonad.Trans.Store.Strict
+-- Copyright   :  (C) 2008-2011 Edward Kmett
+-- License     :  BSD-style (see the file LICENSE)
+--
+-- Maintainer  :  Edward Kmett <ekmett@gmail.com>
+-- Stability   :  provisional
+-- Portability :  portable
+--
+-- The strict store (state-in-context/costate) comonad transformer is subject to the laws:
+-- 
+-- > x = put (get x) x
+-- > y = get (put y x)
+-- > put y x = put y (put z x)
+--
+-- Thanks go to Russell O'Connor and Daniel Peebles for their help formulating 
+-- and proving the laws for this comonad transformer.
+----------------------------------------------------------------------------
+module Control.Comonad.Trans.Store.Strict
+  ( 
+  -- * The Store comonad
+    Store, store, runStore
+  -- * The Store comonad transformer
+  , StoreT(..), runStoreT
+  -- * Operations
+  , get
+  , put
+  , modify
+  , experiment
+  ) where
+
+import Control.Comonad
+import Control.Comonad.Hoist.Class
+import Control.Comonad.Trans.Class
+import Data.Functor.Identity
+
+type Store s = StoreT s Identity
+
+store :: (s -> a) -> s -> Store s a 
+store f s = StoreT (Identity f) s
+
+runStore :: Store s a -> (s -> a, s)
+runStore (StoreT (Identity f) s) = (f, s)
+
+data StoreT s w a = StoreT (w (s -> a)) s
+
+runStoreT :: StoreT s w a -> (w (s -> a), s)
+runStoreT (StoreT wf s) = (wf, s)
+
+instance Functor w => Functor (StoreT s w) where
+  fmap f (StoreT wf s) = StoreT (fmap (f .) wf) s
+
+instance Comonad w => Comonad (StoreT s w) where
+  extract (StoreT wf s) = extract wf s
+  duplicate (StoreT wf s) = StoreT (extend StoreT wf) s
+  extend f (StoreT wf s) = StoreT (extend (\wf' s' -> f (StoreT wf' s')) wf) s
+
+instance ComonadTrans (StoreT s) where
+  lower (StoreT f s) = fmap ($s) f
+
+instance ComonadHoist (StoreT s) where
+  cohoist (StoreT f s) = StoreT (Identity (extract f)) s
+
+get :: StoreT s w a -> s
+get (StoreT _ s) = s
+
+put :: Comonad w => s -> StoreT s w a -> a 
+put s (StoreT f _) = extract f s
+
+modify :: Comonad w => (s -> s) -> StoreT s w a -> a
+modify f (StoreT g s) = extract g (f s)
+
+experiment :: (Comonad w, Functor f) => f (s -> s) -> StoreT s w a -> f a
+experiment fs (StoreT g s) = fmap (\f -> extract g (f s)) fs
diff --git a/comonad-transformers.cabal b/comonad-transformers.cabal
--- a/comonad-transformers.cabal
+++ b/comonad-transformers.cabal
@@ -1,6 +1,6 @@
 name:          comonad-transformers
 category:      Control, Comonads
-version:       0.2.0
+version:       0.2.1
 license:       BSD3
 cabal-version: >= 1.2
 license-file:  LICENSE
@@ -25,9 +25,15 @@
     Control.Comonad.Hoist.Class
     Control.Comonad.Trans.Class
     Control.Comonad.Trans.Discont
+    Control.Comonad.Trans.Discont.Lazy
+    Control.Comonad.Trans.Discont.Strict
     Control.Comonad.Trans.Env
+    Control.Comonad.Trans.Env.Lazy
+    Control.Comonad.Trans.Env.Strict
     Control.Comonad.Trans.Identity
     Control.Comonad.Trans.Store
+    Control.Comonad.Trans.Store.Lazy
+    Control.Comonad.Trans.Store.Strict
     Control.Comonad.Trans.Traced
     Control.Comonad.Trans.Stream
 
