diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,13 @@
+# 0.9.0.0
+
+* Add quantified constraint `forall e es. (e <: es) => OneWayCoercible
+  (h e) (h es)` as a superclass of `Handle h`
+
+* Improve performance of `mapHandle` by using `unsafeOneWayCoerce`.
+  This can violate type safety if a `OneWayCoercibleInstance` is
+  invalid, so do not define or use invalid `OneWayCoercible`
+  instances!
+
 # 0.7.1.0
 
 * Add `Bluefin.Compound.oneWayCoercibleNewtypeHandle`
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.7.1.0
+version:            0.9.0.0
 license:            MIT
 license-file:       LICENSE
 author:             Tom Ellis
@@ -56,6 +56,6 @@
       Bluefin.System.IO,
       Bluefin.Writer,
     build-depends:
-      bluefin-internal >= 0.8.1.0 && < 0.9
+      bluefin-internal >= 0.9.0.0 && < 0.10
     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
@@ -677,7 +677,6 @@
     OneWayCoercible.OneWayCoercible (OneWayCoercible.oneWayCoercibleImpl),
     OneWayCoercibleHandle (MkOneWayCoercibleHandle),
     handleOneWayCoercible,
-    withHandle,
     OneWayCoercible.gOneWayCoercible,
     oneWayCoercibleTrustMe,
     oneWayCoercibleNewtypeHandle,
@@ -697,6 +696,7 @@
     runCompound,
     withCompound,
     useImplWithin,
+    withHandle,
   )
 where
 
