diff --git a/log-effect.cabal b/log-effect.cabal
--- a/log-effect.cabal
+++ b/log-effect.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                log-effect
-version:             0.4.0.0
+version:             0.4.0.1
 synopsis:            An extensible log effect using extensible-effects
 description:         Any help (especially documentation) is very welcome,
 homepage:            https://github.com/ibotty/log-effect
diff --git a/src/Control/Eff/Log.hs b/src/Control/Eff/Log.hs
--- a/src/Control/Eff/Log.hs
+++ b/src/Control/Eff/Log.hs
@@ -7,6 +7,7 @@
 {-# LANGUAGE TypeOperators         #-}
 module Control.Eff.Log
   ( Log(Log, logLine)
+  , Logger
   , logE
   , filterLog
   , filterLog'
@@ -39,10 +40,12 @@
 -- | a monadic action that does the real logging
 type Logger m l = forall v. Log l v -> m ()
 
+-- | Log something.
 logE :: (Typeable l, Member (Log l) r)
   => l -> Eff r ()
 logE line = send $ \next -> inj (Log line (next ()))
 
+-- | Collect log messages in a list.
 runLogPure :: (Typeable l)
   => Eff (Log l :> r) a
   -> Eff r (a, [l])
@@ -52,6 +55,7 @@
         performLog l = fmap (prefixLogWith l) (go (logNext l))
         prefixLogWith log' (v, l) = (v, logLine log' : l)
 
+-- | Run the 'Logger' action in the base monad for every log line.
 runLog :: (Typeable l, Typeable1 m, SetMember Lift (Lift m) r)
   => Logger m l -> Eff (Log l :> r) a -> Eff r a
 runLog logger = go . admin
@@ -73,7 +77,7 @@
 
 -- | Filter Log entries with a predicate and a proxy.
 --
--- This is the same as 'filterLog' but with a "proxy l" for type inference.
+-- This is the same as 'filterLog' but with a proxy l for type inference.
 filterLog' :: (Typeable l, Member (Log l) r)
   => (l -> Bool) -> proxy l -> Eff r a -> Eff r a
 filterLog' predicate _ = filterLog predicate
