diff --git a/Dangerous.cabal b/Dangerous.cabal
--- a/Dangerous.cabal
+++ b/Dangerous.cabal
@@ -1,5 +1,5 @@
 Name:          Dangerous
-Version:       0.2.2
+Version:       0.2.3
 License:       MIT
 License-file:  LICENSE
 Category:      Error Handling
diff --git a/src/Control/Dangerous.hs b/src/Control/Dangerous.hs
--- a/src/Control/Dangerous.hs
+++ b/src/Control/Dangerous.hs
@@ -12,6 +12,7 @@
     , result
     , execute
     , extract
+    , dangerize
     ) where
 
 
@@ -149,3 +150,7 @@
 extract (Left (Failure s)) = hPutStrLn stderr s >> exitFailure
 extract (Left (Exit n s)) = hPutStrLn stderr s >> exitWith (ExitFailure n)
 extract (Right a) = return a
+
+dangerize :: (Errorable m, Show s) => Either s a -> m a
+dangerize (Left e) = throw e
+dangerize (Right v) = return v
