diff --git a/UtilityTM.cabal b/UtilityTM.cabal
--- a/UtilityTM.cabal
+++ b/UtilityTM.cabal
@@ -1,5 +1,5 @@
 Name:               UtilityTM
-Version:            0.0.2
+Version:            0.0.3
 License:            BSD3
 License-File:       LICENSE
 Author:             Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ>
diff --git a/src/Control/Monad/TM.hs b/src/Control/Monad/TM.hs
--- a/src/Control/Monad/TM.hs
+++ b/src/Control/Monad/TM.hs
@@ -7,22 +7,22 @@
 , allM
 ) where
 
+import Control.Applicative
 import Data.Traversable
-import Control.Monad hiding (mapM)
-import Prelude hiding (mapM)
+import Control.Monad
 
 -- | Lifting bind into a monad. Often denoted /concatMapM/.
 (.=<<.) ::
-  (Monad q, Monad m, Traversable m) =>
+  (Applicative q, Monad m, Traversable m) =>
   (a -> q (m b))
   -> m a
   -> q (m b)
 (.=<<.) f =
-  liftM join . mapM f
+  fmap join . traverse f
 
 -- | Lifting bind into a monad. Often denoted /concatMapM/.
 (.>>=.) ::
-  (Monad q, Monad m, Traversable m) =>
+  (Applicative q, Monad m, Traversable m) =>
   m a
   -> (a -> q (m b))
   -> q (m b)
