diff --git a/pipes-misc.cabal b/pipes-misc.cabal
--- a/pipes-misc.cabal
+++ b/pipes-misc.cabal
@@ -1,5 +1,5 @@
 name:                pipes-misc
-version:             0.2.0.0
+version:             0.2.0.1
 synopsis:            Miscellaneous utilities for pipes, required by glazier-tutorial
 description:         Please see README.md
 homepage:            https://github.com/louispan/pipes-misc#readme
@@ -35,7 +35,7 @@
   build-depends:       base >= 4.7 && < 5
                      , lens >=4 &&< 5
                      , pipes >= 4 && < 5
-                     , pipes-misc >= 0.2.0.0
+                     , pipes-misc
                      , transformers >= 0.4 && < 0.6
                      , hspec >= 2 && < 3
   ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N
diff --git a/src/Pipes/Misc.hs b/src/Pipes/Misc.hs
--- a/src/Pipes/Misc.hs
+++ b/src/Pipes/Misc.hs
@@ -6,7 +6,7 @@
 module Pipes.Misc where
 
 import Control.Arrow
-import qualified Control.Concurrent.STM as S
+import Control.Concurrent.STM
 import Control.Lens
 import Control.Monad
 import Control.Monad.State.Strict
@@ -19,14 +19,18 @@
 import Control.Monad.Except
 import Control.Applicative
 
--- | Like Pipes.Concurrent.fromInput, but stays in STM
-fromInputSTM :: PC.Input a -> P.Producer' a S.STM ()
+-- | Like Pipes.Concurrent.fromInput, but stays in STM.
+-- Using @hoist atomically@ to convert to IO monad seems to work.
+-- Do not use @unsafeHoist atomically@.
+fromInputSTM :: PC.Input a -> P.Producer' a STM ()
 fromInputSTM as = void $ runMaybeT $ forever $ do
     a <- MaybeT $ lift $ PC.recv as
     lift $ P.yield a
 
--- | Like Pipes.Concurrent.toOutput, but stays in STM
-toOutputSTM :: PC.Output a -> P.Consumer' a S.STM ()
+-- | Like Pipes.Concurrent.toOutput, but stays in STM.
+-- Using @hoist atomically@ to convert to IO monad seems to work.
+-- Do not use @unsafeHoist atomically@.
+toOutputSTM :: PC.Output a -> P.Consumer' a STM ()
 toOutputSTM output = void $ runMaybeT $ forever $ do
     a <- lift P.await
     p <- lift $ lift $ PC.send output a
