diff --git a/Control/Monad/Trans/Resource.hs b/Control/Monad/Trans/Resource.hs
--- a/Control/Monad/Trans/Resource.hs
+++ b/Control/Monad/Trans/Resource.hs
@@ -513,6 +513,13 @@
 instance MonadThrow IO where
     monadThrow = E.throwIO
 
+instance MonadThrow Maybe where
+    monadThrow _ = Nothing
+instance MonadThrow (Either SomeException) where
+    monadThrow = Left . E.toException
+instance MonadThrow [] where
+    monadThrow _ = []
+
 #define GO(T) instance (MonadThrow m) => MonadThrow (T m) where monadThrow = lift . monadThrow
 #define GOX(X, T) instance (X, MonadThrow m) => MonadThrow (T m) where monadThrow = lift . monadThrow
 GO(IdentityT)
diff --git a/resourcet.cabal b/resourcet.cabal
--- a/resourcet.cabal
+++ b/resourcet.cabal
@@ -1,5 +1,5 @@
 Name:                resourcet
-Version:             0.4.2
+Version:             0.4.3
 Synopsis:            Deterministic allocation and freeing of scarce resources.
 Description:
 	This package was originally included with the conduit package, and has since been split off. For more information, please see <http://www.yesodweb.com/book/conduits>.
