diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+# Version 1.1.1
+
+* Documentation improvements.
+
+* Re-export `Df1.ToSegment`, `Df1.segment`, `Df1.ToMessage`, `Df1.message`,
+  `Df1.ToKey`, `Df1.key`, `Df1.ToValue`, `Df1.value`.
+
 # Version 1.1
 
 * **BREAKING CHANGE:** Exceptions are now logged _at the throw site_ by
diff --git a/di.cabal b/di.cabal
--- a/di.cabal
+++ b/di.cabal
@@ -1,5 +1,5 @@
 name: di
-version: 1.1
+version: 1.1.1
 author: Renzo Carbonara
 maintainer: renλren.zone
 copyright: Renzo Carbonara 2017-2018
@@ -13,8 +13,11 @@
 description:
   Typeful hierarchical structured logging using di, mtl and df1.
   .
-  This is meta-package bringing in together things from the @di-core@,
-  @di-monad@, @di-handle@ and @di-df1@ libraries.
+  This is meta-package bringing in together things from the
+  [di-core](https://hackage.haskell.org/package/di-core),
+  [di-monad](https://hackage.haskell.org/package/di-monad),
+  [di-handle](https://hackage.haskell.org/package/di-handle) and
+  [di-df1](https://hackage.haskell.org/package/di-df1) libraries.
   .
   See the "Di" module for more documentation.
 homepage: https://github.com/k0001/di
@@ -27,7 +30,7 @@
   build-depends:
     base >=4.9 && <5.0,
     containers,
-    df1,
+    df1 >=0.3,
     di-core,
     di-df1,
     di-handle,
diff --git a/lib/Di.hs b/lib/Di.hs
--- a/lib/Di.hs
+++ b/lib/Di.hs
@@ -72,18 +72,19 @@
  , Di.Df1.Monad.push
  , Df1.Path
  , Df1.Segment
- , Df1.segment
+ , Df1.ToSegment(segment)
 
    -- ** Metadata
  , Di.Df1.Monad.attr
  , Df1.Key
- , Df1.key
+ , Df1.ToKey(key)
  , Df1.Value
- , Df1.value
+ , Df1.ToValue(value)
 
    -- ** Messages
  , Df1.Level
  , Df1.Message
+ , Df1.ToMessage(message)
  , Di.Df1.Monad.debug
  , Di.Df1.Monad.info
  , Di.Df1.Monad.notice
@@ -141,6 +142,8 @@
 --                    'Di.Df1.Monad.push' "handler" $ do
 --                       'Di.Df1.Monad.attr' "client-address" clientAddress $ do
 --                          'Di.Df1.Monad.info' "Connection established"
+--                          -- /If you throw an exception with 'Ex.throwM', it/
+--                          -- /will be logged automatically./
 --                          'Ex.throwM' ('userError' "Oops!")
 -- @
 --
@@ -170,11 +173,8 @@
   -- all logs have finished processing, before returning.
   --
   -- /WARNING:/ Even while @'new' commit 'pure' :: m ('Di.Core.Di' 'Df1.Level'
-  -- 'Df1.Path' 'Df1.Message')@ type-checks, and you can use it to work with the
-  -- 'Di.Core.Di' outside the intended scope, you will have to remember to call
-  -- 'Di.Monad.flush' yourself before exiting your application. Otherwise, some
-  -- log messages may be left unprocessed. If possible, use the 'Di.Core.Di'
-  -- within this function and don't let it escape this scope.
+  -- 'Df1.Path' 'Df1.Message')@ type-checks, attempting to use the obtained 'Di'
+  -- outside its intended scope will fail.
   -> m a -- ^
 new act = do
   commit <- Di.Handle.stderr Di.Df1.df1
