diff --git a/Dangerous.cabal b/Dangerous.cabal
--- a/Dangerous.cabal
+++ b/Dangerous.cabal
@@ -1,5 +1,5 @@
 Name:          Dangerous
-Version:       0.3
+Version:       0.3.0
 License:       MIT
 License-file:  LICENSE
 Category:      Error Handling
@@ -21,6 +21,6 @@
     Hs-Source-Dirs:   src
     Build-Depends:    base >= 4 && < 5,
                       mtl >= 1.0
-    Exposed-modules:  Control.Dangerous
+    Exposed-modules:  Control.Dangerous, Control.Dangerous.Extensions
     Ghc-Options:      -Wall
     Ghc-Prof-Options: -auto-all
diff --git a/src/Control/Dangerous/Extensions.hs b/src/Control/Dangerous/Extensions.hs
new file mode 100644
--- /dev/null
+++ b/src/Control/Dangerous/Extensions.hs
@@ -0,0 +1,30 @@
+-- This is the land of the orphans, so NO WHINING
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+module Control.Dangerous.Extensions where
+import Prelude hiding ( log )
+import Control.Dangerous
+import Control.Monad.Cont
+import Control.Monad.Maybe
+import Control.Monad.Reader
+import Control.Monad.State
+import Control.Monad.Writer
+
+instance (Errorable m) => Errorable (ContT s m) where
+    log = lift . log
+    exit = lift . exit
+
+instance (Errorable m) => Errorable (MaybeT m) where
+    log = lift . log
+    exit = lift . exit
+
+instance (Monoid s, Errorable m) => Errorable (WriterT s m) where
+    log = lift . log
+    exit = lift . exit
+
+instance (Errorable m) => Errorable (ReaderT s m) where
+    log = lift . log
+    exit = lift . exit
+
+instance (Errorable m) => Errorable (StateT s m) where
+    log = lift . log
+    exit = lift . exit
