diff --git a/Control/Comonad/Trans/Traced.hs b/Control/Comonad/Trans/Traced.hs
--- a/Control/Comonad/Trans/Traced.hs
+++ b/Control/Comonad/Trans/Traced.hs
@@ -32,12 +32,12 @@
 import Control.Comonad
 import Control.Comonad.Hoist.Class
 import Control.Comonad.Trans.Class
+import Data.Distributive
 import Data.Functor
 import Data.Functor.Apply
 import Data.Functor.Identity
 import Data.Monoid
 import Data.Semigroup
-
 import Data.Typeable
 
 type Traced m = TracedT m Identity
@@ -71,6 +71,9 @@
 
 instance (Semigroup m, Monoid m) => ComonadHoist (TracedT m) where
   cohoist = traced . extract . runTracedT
+
+instance Distributive w => Distributive (TracedT m w) where
+  distribute = TracedT . fmap (\tma m -> fmap ($m) tma) . collect runTracedT
 
 trace :: (Comonad w, Monoid m) => m -> TracedT m w a -> a
 trace m (TracedT wf) = extract wf m
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:       1.5.0.2
+version:       1.5.0.4
 license:       BSD3
 cabal-version: >= 1.6
 license-file:  LICENSE
@@ -25,10 +25,9 @@
 library
   build-depends: 
     base >= 4 && < 4.4,
-    MemoTrie >= 0.4.9 && < 0.5,
     comonad >= 1.0.1 && < 1.1,
     distributive >= 0.1 && < 0.2,
-    semigroupoids >= 1.0 && < 1.2,
+    semigroupoids >= 1.1.1 && < 1.2,
     semigroups >= 0.3.4 && < 0.4,
     transformers >= 0.2.0 && <= 0.3
 
