diff --git a/Database/TokyoCabinet.hs b/Database/TokyoCabinet.hs
--- a/Database/TokyoCabinet.hs
+++ b/Database/TokyoCabinet.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving, CPP #-}
 module Database.TokyoCabinet
     (
     -- $doc
@@ -17,6 +17,10 @@
 
 import Control.Monad.Trans (MonadIO)
 
+#if MIN_VERSION_base(4,11,0)
+import Control.Monad.Fail (MonadFail)
+#endif
+
 import Database.TokyoCabinet.Storable
 import Database.TokyoCabinet.Sequence
 import Database.TokyoCabinet.FDB.Key (ID, toID)
@@ -67,7 +71,11 @@
 newtype TCM a =
     TCM { -- | Unwrap TCM.
           runTCM :: IO a
-    } deriving (Functor, Applicative, Monad, MonadIO)
+    } deriving (Functor, Applicative, Monad, MonadIO
+#if MIN_VERSION_base(4,11,0)
+      , MonadFail
+#endif
+      )
 
 -- | Represent open mode for `open' function.
 data OpenMode = OREADER |
diff --git a/tokyocabinet-haskell.cabal b/tokyocabinet-haskell.cabal
--- a/tokyocabinet-haskell.cabal
+++ b/tokyocabinet-haskell.cabal
@@ -1,5 +1,5 @@
 Name:           tokyocabinet-haskell
-Version:        0.0.6
+Version:        0.0.7
 Cabal-Version:  >= 1.10
 License:        BSD3
 License-File:   LICENSE
@@ -27,7 +27,7 @@
 
 Library
   Default-Language:     Haskell2010
-  Build-Depends:        base >= 4.0 && < 4.12, bytestring >= 0.9, mtl >= 1.1
+  Build-Depends:        base >= 4.0 && < 4.13, bytestring >= 0.9, mtl >= 1.1
   Exposed-modules:
     Database.TokyoCabinet
     Database.TokyoCabinet.HDB
@@ -69,7 +69,7 @@
   Main-Is:              tests/ListTest.hs
   Type:                 exitcode-stdio-1.0
   Extra-libraries:      tokyocabinet
-  Build-depends:        base >= 4.0 && < 4.12, bytestring >= 0.9, HUnit >= 1.2
+  Build-depends:        base >= 4.0 && < 4.13, bytestring >= 0.9, HUnit >= 1.2
   Default-Extensions:   CPP, ForeignFunctionInterface,
                         EmptyDataDecls, TypeSynonymInstances
   Other-modules:
@@ -82,7 +82,7 @@
   Main-Is:              tests/MapTest.hs
   Type:                 exitcode-stdio-1.0
   Extra-libraries:      tokyocabinet
-  Build-depends:        base >= 4.0 && < 4.12, bytestring >= 0.9, HUnit >= 1.2
+  Build-depends:        base >= 4.0 && < 4.13, bytestring >= 0.9, HUnit >= 1.2
   Default-Extensions:   CPP, ForeignFunctionInterface,
                         EmptyDataDecls, TypeSynonymInstances
   Other-modules:
@@ -99,7 +99,7 @@
   Main-Is:              tests/HDBTest.hs
   Type:                 exitcode-stdio-1.0
   Extra-libraries:      tokyocabinet
-  Build-depends:        base >= 4.0 && < 4.12, bytestring >= 0.9, HUnit >= 1.2, directory >= 1.0, mtl >= 1.1
+  Build-depends:        base >= 4.0 && < 4.13, bytestring >= 0.9, HUnit >= 1.2, directory >= 1.0, mtl >= 1.1
   Default-Extensions:   CPP, ForeignFunctionInterface,
                         EmptyDataDecls, TypeSynonymInstances
   Other-modules:
@@ -118,7 +118,7 @@
   Main-Is:              tests/BDBTest.hs
   Type:                 exitcode-stdio-1.0
   Extra-libraries:      tokyocabinet
-  Build-depends:        base >= 4.0 && < 4.12, bytestring >= 0.9, HUnit >= 1.2, directory >= 1.0, mtl >= 1.1
+  Build-depends:        base >= 4.0 && < 4.13, bytestring >= 0.9, HUnit >= 1.2, directory >= 1.0, mtl >= 1.1
   Default-Extensions:   CPP, ForeignFunctionInterface,
                         EmptyDataDecls, TypeSynonymInstances
   Other-modules:
@@ -139,7 +139,7 @@
   Main-Is:              tests/FDBTest.hs
   Type:                 exitcode-stdio-1.0
   Extra-libraries:      tokyocabinet
-  Build-depends:        base >= 4.0 && < 4.12, bytestring >= 0.9, HUnit >= 1.2, directory >= 1.0, mtl >= 1.1
+  Build-depends:        base >= 4.0 && < 4.13, bytestring >= 0.9, HUnit >= 1.2, directory >= 1.0, mtl >= 1.1
   Default-Extensions:   CPP, ForeignFunctionInterface,
                         EmptyDataDecls, TypeSynonymInstances
   Other-modules:
@@ -159,7 +159,7 @@
   Main-Is:              tests/TDBTest.hs
   Type:                 exitcode-stdio-1.0
   Extra-libraries:      tokyocabinet
-  Build-depends:        base >= 4.0 && < 4.12, bytestring >= 0.9, HUnit >= 1.2, directory >= 1.0, mtl >= 1.1
+  Build-depends:        base >= 4.0 && < 4.13, bytestring >= 0.9, HUnit >= 1.2, directory >= 1.0, mtl >= 1.1
   Default-Extensions:   CPP, ForeignFunctionInterface,
                         EmptyDataDecls, TypeSynonymInstances
   Other-modules:
@@ -181,7 +181,7 @@
   Main-Is:              tests/TDBQRYTest.hs
   Type:                 exitcode-stdio-1.0
   Extra-libraries:      tokyocabinet
-  Build-depends:        base >= 4.0 && < 4.12, bytestring >= 0.9, HUnit >= 1.2, directory >= 1.0, mtl >= 1.1
+  Build-depends:        base >= 4.0 && < 4.13, bytestring >= 0.9, HUnit >= 1.2, directory >= 1.0, mtl >= 1.1
   Default-Extensions:   CPP, ForeignFunctionInterface,
                         EmptyDataDecls, TypeSynonymInstances
   Other-modules:
@@ -207,7 +207,7 @@
   Main-Is:              tests/ADBTest.hs
   Type:                 exitcode-stdio-1.0
   Extra-libraries:      tokyocabinet
-  Build-depends:        base >= 4.0 && < 4.12, bytestring >= 0.9, HUnit >= 1.2, directory >= 1.0, mtl >= 1.1
+  Build-depends:        base >= 4.0 && < 4.13, bytestring >= 0.9, HUnit >= 1.2, directory >= 1.0, mtl >= 1.1
   Default-Extensions:   CPP, ForeignFunctionInterface,
                         EmptyDataDecls, TypeSynonymInstances
   Other-modules:
@@ -226,7 +226,7 @@
   Main-Is:              tests/TCDBTest.hs
   Type:                 exitcode-stdio-1.0
   Extra-libraries:      tokyocabinet
-  Build-depends:        base >= 4.0 && < 4.12, bytestring >= 0.9, HUnit >= 1.2, directory >= 1.0, mtl >= 1.1
+  Build-depends:        base >= 4.0 && < 4.13, bytestring >= 0.9, HUnit >= 1.2, directory >= 1.0, mtl >= 1.1
   Default-Extensions:   CPP, ForeignFunctionInterface,
                         EmptyDataDecls, TypeSynonymInstances
   Other-modules:
@@ -258,7 +258,7 @@
   Main-Is:              tests/StorableTest.hs
   Type:                 exitcode-stdio-1.0
   Extra-libraries:      tokyocabinet
-  Build-depends:        base >= 4.0 && < 4.12, bytestring >= 0.9, HUnit >= 1.2, directory >= 1.0, mtl >= 1.1
+  Build-depends:        base >= 4.0 && < 4.13, bytestring >= 0.9, HUnit >= 1.2, directory >= 1.0, mtl >= 1.1
   Default-Extensions:   CPP, ForeignFunctionInterface,
                         EmptyDataDecls, TypeSynonymInstances
   Other-modules:
