diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,9 @@
-# Version 0.1
+# Version 1.0.1
+
+* Removed unnecessary `MonadIO` constraint.
+
+
+# Version 1.0
 
 * Consider this a preview release: The API is likely to stay stable, but
   extensive testing, formalization and tooling is due.
diff --git a/di-df1.cabal b/di-df1.cabal
--- a/di-df1.cabal
+++ b/di-df1.cabal
@@ -1,5 +1,5 @@
 name: di-df1
-version: 1.0
+version: 1.0.1
 author: Renzo Carbonara
 maintainer: renλren.zone
 copyright: Renzo Carbonara 2018
diff --git a/lib/Di/Df1.hs b/lib/Di/Df1.hs
--- a/lib/Di/Df1.hs
+++ b/lib/Di/Df1.hs
@@ -77,10 +77,6 @@
 -- MonadIO variants.
 
 -- | Log a message stating that the system is unusable.
---
--- @
--- 'emergency' == 'Di.log' 'Df1.Emergency'
--- @
 emergency
   :: MonadIO m
   => Di.Di Df1.Level path Df1.Message
@@ -91,10 +87,6 @@
 
 -- | Log a condition that should be corrected immediately, such as a corrupted
 -- database.
---
--- @
--- 'alert' == 'Di.log' 'Df1.Alert'
--- @
 alert
   :: MonadIO m
   => Di.Di Df1.Level path Df1.Message
@@ -105,10 +97,6 @@
 
 -- | Log a critical condition that could result in system failure, such as a
 -- disk running out of space.
---
--- @
--- 'critical' == 'Di.log' 'Df1.Critical'
--- @
 critical
   :: MonadIO m
   => Di.Di Df1.Level path Df1.Message
@@ -118,10 +106,6 @@
 {-# INLINE critical #-}
 
 -- | Log an error condition, such as an unhandled exception.
---
--- @
--- 'error' == 'Di.log' 'Df1.Error'
--- @
 error
   :: MonadIO m
   => Di.Di Df1.Level path Df1.Message
@@ -132,10 +116,6 @@
 
 -- | Log a warning condition, such as an exception being gracefully handled or
 -- some missing configuration setting being assigned a default value.
---
--- @
--- 'warning' == 'Di.log' 'Df1.Warning'
--- @
 warning
   :: MonadIO m
   => Di.Di Df1.Level path Df1.Message
@@ -146,10 +126,6 @@
 
 -- | Log a condition that is not an error, but should possibly be handled
 -- specially.
---
--- @
--- 'notice' == 'Di.log' 'Df1.Notice'
--- @
 notice
   :: MonadIO m
   => Di.Di Df1.Level path Df1.Message
@@ -159,10 +135,6 @@
 {-# INLINE notice #-}
 
 -- | Log an informational message.
---
--- @
--- 'info' == 'Di.log' 'Df1.Info'
--- @
 info
   :: MonadIO m
   => Di.Di Df1.Level path Df1.Message
@@ -173,10 +145,6 @@
 
 -- | Log a message intended to be useful only when deliberately debugging a
 -- program.
---
--- @
--- 'debug' == 'Di.log' 'Df1.Debug'
--- @
 debug
   :: MonadIO m
   => Di.Di Df1.Level path Df1.Message
@@ -189,12 +157,8 @@
 -- STM variants
 
 -- | Log a message stating that the system is unusable.
---
--- @
--- 'emergency'' == 'Di.log'' 'Df1.Emergency'
--- @
 emergency'
-  :: MonadIO m
+  :: Monad m
   => (forall x. STM x -> m x)
   -> Di.Di Df1.Level path Df1.Message
   -> Df1.Message
@@ -204,12 +168,8 @@
 
 -- | Log a condition that should be corrected immediately, such as a corrupted
 -- database.
---
--- @
--- 'alert'' == 'Di.log'' 'Df1.Alert'
--- @
 alert'
-  :: MonadIO m
+  :: Monad m
   => (forall x. STM x -> m x)
   -> Di.Di Df1.Level path Df1.Message
   -> Df1.Message
@@ -219,12 +179,8 @@
 
 -- | Log a critical condition that could result in system failure, such as a
 -- disk running out of space.
---
--- @
--- 'critical'' == 'Di.log'' 'Df1.Critical'
--- @
 critical'
-  :: MonadIO m
+  :: Monad m
   => (forall x. STM x -> m x)
   -> Di.Di Df1.Level path Df1.Message
   -> Df1.Message
@@ -233,12 +189,8 @@
 {-# INLINE critical' #-}
 
 -- | Log an error condition, such as an unhandled exception.
---
--- @
--- 'error'' == 'Di.log'' 'Df1.Error'
--- @
 error'
-  :: MonadIO m
+  :: Monad m
   => (forall x. STM x -> m x)
   -> Di.Di Df1.Level path Df1.Message
   -> Df1.Message
@@ -248,12 +200,8 @@
 
 -- | Log a warning condition, such as an exception being gracefully handled or
 -- some missing configuration setting being assigned a default value.
---
--- @
--- 'warning'' == 'Di.log'' 'Df1.Warning'
--- @
 warning'
-  :: MonadIO m
+  :: Monad m
   => (forall x. STM x -> m x)
   -> Di.Di Df1.Level path Df1.Message
   -> Df1.Message
@@ -263,12 +211,8 @@
 
 -- | Log a condition that is not an error, but should possibly be handled
 -- specially.
---
--- @
--- 'notice'' == 'Di.log'' 'Df1.Notice'
--- @
 notice'
-  :: MonadIO m
+  :: Monad m
   => (forall x. STM x -> m x)
   -> Di.Di Df1.Level path Df1.Message
   -> Df1.Message
@@ -277,12 +221,8 @@
 {-# INLINE notice' #-}
 
 -- | Log an informational message.
---
--- @
--- 'info'' == 'Di.log'' 'Df1.Info'
--- @
 info'
-  :: MonadIO m
+  :: Monad m
   => (forall x. STM x -> m x)
   -> Di.Di Df1.Level path Df1.Message
   -> Df1.Message
@@ -292,12 +232,8 @@
 
 -- | Log a message intended to be useful only when deliberately debugging a
 -- program.
---
--- @
--- 'debug'' == 'Di.log'' 'Df1.Debug'
--- @
 debug'
-  :: MonadIO m
+  :: Monad m
   => (forall x. STM x -> m x)
   -> Di.Di Df1.Level path Df1.Message
   -> Df1.Message
diff --git a/lib/Di/Df1/Monad.hs b/lib/Di/Df1/Monad.hs
--- a/lib/Di/Df1/Monad.hs
+++ b/lib/Di/Df1/Monad.hs
@@ -41,78 +41,46 @@
 --------------------------------------------------------------------------------
 
 -- | Log a message stating that the system is unusable.
---
--- @
--- 'emergency' == 'Di.log' 'Df1.Emergency'
--- @
-emergency :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m () -- ^
+emergency :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m ()
 emergency = Di.log Df1.Emergency
 {-# INLINE emergency #-}
 
 -- | Log a condition that should be corrected immediately, such as a corrupted
 -- database.
---
--- @
--- 'alert' == 'Di.log' 'Df1.Alert'
--- @
-alert :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m () -- ^
+alert :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m ()
 alert = Di.log Df1.Alert
 {-# INLINE alert #-}
 
 -- | Log a critical condition that could result in system failure, such as a
 -- disk running out of space.
---
--- 'critical' == 'Di.log' 'Df1.Critical'
--- @
-critical :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m () -- ^
+critical :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m ()
 critical = Di.log Df1.Critical
 {-# INLINE critical #-}
 
 -- | Log an error condition, such as an unhandled exception.
---
--- @
--- 'error' == 'Di.log' 'Df1.Error'
--- @
-error :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m () -- ^
+error :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m ()
 error = Di.log Df1.Error
 {-# INLINE error #-}
 
 -- | Log a warning condition, such as an exception being gracefully handled or
 -- some missing configuration setting being assigned a default value.
---
--- @
--- 'warning' == 'Di.log' 'Df1.Warning'
--- @
-warning :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m () -- ^
+warning :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m ()
 warning = Di.log Df1.Warning
 {-# INLINE warning #-}
 
 -- | Log a condition that is not an error, but should possibly be handled
 -- specially.
---
--- @
--- 'notice' == 'Di.log' 'Df1.Notice'
--- @
-notice :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m () -- ^
+notice :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m ()
 notice = Di.log Df1.Notice
 {-# INLINE notice #-}
 
-
 -- | Log an informational message.
---
--- @
--- 'info' == 'Di.log' 'Df1.Info'
--- @
-info :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m () -- ^
+info :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m ()
 info = Di.log Df1.Info
 {-# INLINE info #-}
 
 -- | Log a message intended to be useful only when deliberately debugging a
 -- program.
---
--- @
--- 'debug' == 'Di.log' 'Df1.Debug'
--- @
-debug :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m () -- ^
+debug :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m ()
 debug = Di.log Df1.Debug
 {-# INLINE debug #-}
