diff --git a/Web/ClientSession.hs b/Web/ClientSession.hs
--- a/Web/ClientSession.hs
+++ b/Web/ClientSession.hs
@@ -105,7 +105,7 @@
 -- | Base-64 decode and decrypt with the given key, if possible.  Calls
 -- 'failure' if either the original string is not a valid base-64 encoded
 -- string, or the hash at the beginning of the decrypted string does not match.
-decrypt :: (AES.AESKey k, MonadFailure ClientSessionException m)
+decrypt :: (AES.AESKey k, Monad m, Failure ClientSessionException m)
         => k                    -- ^ The key used for encryption.
         -> String               -- ^ Data to decrypt.
         -> m BS.ByteString      -- ^ The decrypted data, if possible.
diff --git a/clientsession.cabal b/clientsession.cabal
--- a/clientsession.cabal
+++ b/clientsession.cabal
@@ -1,5 +1,5 @@
 name:            clientsession
-version:         0.2.0.1
+version:         0.2.1
 license:         BSD3
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
@@ -18,7 +18,7 @@
                      Crypto >= 4.2.0 && < 4.3,
                      dataenc >= 0.13.0.2 && < 0.14,
                      random >= 1.0.0.1 && < 1.1,
-                     failure >= 0.0.0.2 && < 0.1,
+                     failure >= 0.0.0.2 && < 0.2,
                      bytestring >= 0.9 && < 0.10
     exposed-modules: Web.ClientSession
     ghc-options:     -Wall
