diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,7 @@
+3.9.2
+-----
+* Generalized signatures for `throwing` and `throwingM`.
+
 3.9.1
 -----
 * 'condensingPolicy' was updated to work with 'split' 0.2.2
diff --git a/lens.cabal b/lens.cabal
--- a/lens.cabal
+++ b/lens.cabal
@@ -1,6 +1,6 @@
 name:          lens
 category:      Data, Lenses
-version:       3.9.1
+version:       3.9.2
 license:       BSD3
 cabal-version: >= 1.8
 license-file:  LICENSE
diff --git a/src/Control/Exception/Lens.hs b/src/Control/Exception/Lens.hs
--- a/src/Control/Exception/Lens.hs
+++ b/src/Control/Exception/Lens.hs
@@ -266,10 +266,10 @@
 -- @
 --
 -- @
--- 'throwing' :: 'Prism'' 'SomeException' t -> t -> a
--- 'throwing' :: 'Iso'' 'SomeException' t   -> t -> a
+-- 'throwing' :: 'Prism'' 'SomeException' t -> t -> r
+-- 'throwing' :: 'Iso'' 'SomeException' t   -> t -> r
 -- @
-throwing :: AReview s SomeException a b -> b -> a
+throwing :: AReview s SomeException a b -> b -> r
 throwing l = reviews l Exception.throw
 {-# INLINE throwing #-}
 
@@ -297,10 +297,10 @@
 -- @
 --
 -- @
--- 'throwingM' :: 'MonadCatchIO' m => 'Prism'' 'SomeException' t -> t -> m a
--- 'throwingM' :: 'MonadCatchIO' m => 'Iso'' 'SomeException' t   -> t -> m a
+-- 'throwingM' :: 'MonadIO' m => 'Prism'' 'SomeException' t -> t -> m r
+-- 'throwingM' :: 'MonadIO' m => 'Iso'' 'SomeException' t   -> t -> m r
 -- @
-throwingM :: MonadCatchIO m => AReview s SomeException a b -> b -> m a
+throwingM :: MonadIO m => AReview s SomeException a b -> b -> m r
 throwingM l = reviews l (liftIO . throwIO)
 {-# INLINE throwingM #-}
 
