diff --git a/google-oauth2-jwt.cabal b/google-oauth2-jwt.cabal
--- a/google-oauth2-jwt.cabal
+++ b/google-oauth2-jwt.cabal
@@ -1,5 +1,5 @@
 name:                google-oauth2-jwt
-version:             0.3.1
+version:             0.3.2
 synopsis:            Get a signed JWT for Google Service Accounts
 description:         This library implements the creation of the
                      signed JWT for Google Service Accounts.
@@ -7,13 +7,15 @@
 license:             BSD3
 license-file:        LICENSE
 author:              Michel Boucey
-maintainer:          michel.boucey@cybervisible.fr
-copyright:           (c) 2016-2018 - Michel Boucey
+maintainer:          michel.boucey@gmail.com
+copyright:           (c) 2016-2020 - Michel Boucey
 category:            Google
 build-type:          Simple
 extra-source-files:  README.md
 cabal-version:       >= 1.10
 
+Tested-With: GHC ==8.4.3 || ==8.6.5 || ==8.8.1
+
 library
   hs-source-dirs:   src
   exposed-modules:  Network.Google.OAuth2.JWT
@@ -21,7 +23,7 @@
                   , base64-bytestring   >= 1.0.0    && < 1.1
                   , bytestring          >= 0.10.6   && < 0.11
                   , HsOpenSSL           >= 0.11.1.1 && < 0.12
-                  , RSA                 >= 2.1.0.3  && < 2.4
+                  , RSA                 >= 2.1.0.3  && < 2.5
                   , text                >= 1.2.2    && < 1.3
                   , unix-time           >= 0.3.6    && < 0.5
 
diff --git a/src/Network/Google/OAuth2/JWT.hs b/src/Network/Google/OAuth2/JWT.hs
--- a/src/Network/Google/OAuth2/JWT.hs
+++ b/src/Network/Google/OAuth2/JWT.hs
@@ -26,7 +26,7 @@
 import           Data.ByteString.Lazy       (fromStrict, toStrict)
 import           Data.ByteString.Char8      (unpack)
 import           Data.Maybe                 (fromMaybe, fromJust)
-import           Data.Monoid                ((<>))
+-- import           Data.Monoid                ((<>))
 import qualified Data.Text                  as T
 import           Data.Text.Encoding         (encodeUtf8)
 import           Data.UnixTime              (getUnixTime, utSeconds)
@@ -108,7 +108,7 @@
           <> toT (utSeconds t) <> "}")
   return $
     either
-      (fail "RSAError")
+      (return $ Left "RSAError")
       (\s -> return $ SignedJWT $ i <> "." <> encode (toStrict s))
       (rsassa_pkcs1_v1_5_sign hashSHA256 pk $ fromStrict i)
   where
