diff --git a/Control/Monad/Operational/Class.hs b/Control/Monad/Operational/Class.hs
--- a/Control/Monad/Operational/Class.hs
+++ b/Control/Monad/Operational/Class.hs
@@ -1,5 +1,9 @@
-{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances, TypeOperators #-}
+{-# LANGUAGE FunctionalDependencies #-}
+{-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE UndecidableInstances #-}
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE TypeOperators #-}
+{-# LANGUAGE CPP #-}
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Control.Monad.Operational.Class
@@ -68,3 +72,8 @@
 
 instance (t :! m, Error e) => t :! ErrorT e m where
   singleton = lift . singleton
+
+#if MIN_VERSION_transformers(0,4,0)
+instance (t :! m) => t :! ExceptT e m where
+  singleton = lift . singleton
+#endif
diff --git a/minioperational.cabal b/minioperational.cabal
--- a/minioperational.cabal
+++ b/minioperational.cabal
@@ -1,5 +1,5 @@
 name:                minioperational
-version:             0.4.3
+version:             0.4.4
 synopsis:            fast and simple operational monad
 description:         This package provides tiny implementation of operational monad.
 homepage:            https://github.com/fumieval/minioperational
@@ -24,4 +24,4 @@
     , Control.Monad.Operational.Class
     , Control.Monad.Operational.TH
   -- other-modules:       
-  build-depends:       base ==4.*, transformers >= 0.2.0 && <0.4, template-haskell, containers
+  build-depends:       base ==4.*, transformers >= 0.2.0 && <0.6, template-haskell, containers
