diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+## 0.2.1.0
+
+* `Bluefin.Compound`: Add `handleImpl`, `HandleD` and
+  `handleMapHandle`
+
 ## 0.2.0.0
 
 * Transitive version bump because of choice of different incoherent
diff --git a/bluefin.cabal b/bluefin.cabal
--- a/bluefin.cabal
+++ b/bluefin.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               bluefin
-version:            0.2.0.0
+version:            0.2.1.0
 license:            MIT
 license-file:       LICENSE
 author:             Tom Ellis
@@ -39,6 +39,6 @@
       Bluefin.System.IO,
       Bluefin.Writer,
     build-depends:
-      bluefin-internal >= 0.2.0.0 && < 0.3
+      bluefin-internal >= 0.2.1.0 && < 0.3
     hs-source-dirs:   src
     default-language: Haskell2010
diff --git a/src/Bluefin/Compound.hs b/src/Bluefin/Compound.hs
--- a/src/Bluefin/Compound.hs
+++ b/src/Bluefin/Compound.hs
@@ -657,7 +657,13 @@
     -- @
 
     -- * Functions for making compound effects
-    Handle (mapHandle),
+
+    -- ** @Handle@
+    Handle (handleImpl, mapHandle),
+    HandleD,
+    handleMapHandle,
+
+    -- ** Other functions for compound effects
     makeOp,
     useImpl,
     useImplUnder,
diff --git a/src/Bluefin/HandleReader.hs b/src/Bluefin/HandleReader.hs
--- a/src/Bluefin/HandleReader.hs
+++ b/src/Bluefin/HandleReader.hs
@@ -1,3 +1,15 @@
+-- | 'HandleReader' is like t'Bluefin.Reader.Reader', generalized to
+-- work for arbitrary t'Bluefin.Compound.Handle's.  'localHandle'
+-- locally overrides the value of a handle in a well-scoped way.  The
+-- original handle will be restored when you exit the @localHandle@
+-- block regardless of whether the exit was normal or via an
+-- exception.
+--
+-- @HandleReader@ supports functionality similiar to @effectful@'s
+-- 'Effectful.Dispatch.Dynamic.interpose' and @polysemy@'s
+-- 'Polysemy.intercept', that is, locally augmenting an effect with
+-- new behaviors.
+
 module Bluefin.HandleReader
   (-- * Handle
    HandleReader,
diff --git a/src/Bluefin/Reader.hs b/src/Bluefin/Reader.hs
--- a/src/Bluefin/Reader.hs
+++ b/src/Bluefin/Reader.hs
@@ -1,6 +1,10 @@
 module Bluefin.Reader
   ( -- | 'Reader' is Bluefin's version of the
-    -- "Control.Monad.Trans.Reader" monad.
+    -- "Control.Monad.Trans.Reader" monad.  'local' allows you to
+    -- locally override the value in the @Reader@ handle in a
+    -- well-scoped way.  The original value will be restored when you
+    -- exit the @local@ block regardless of whether the exit was
+    -- normal or via an exception .
 
     -- * Handle
     Reader,
