diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,12 @@
 # CHANGELOG
 
+## 1.1.0
+
+### Added
+
+* `mapFailTBase` - map inner monad (e.g. lift)
+* `mapFailTFail` - map error type
+
 ## 1.0.0
 
 ### Added
diff --git a/applicative-fail.cabal b/applicative-fail.cabal
--- a/applicative-fail.cabal
+++ b/applicative-fail.cabal
@@ -1,9 +1,9 @@
 name:                applicative-fail
-version:             1.0.0
+version:             1.1.0
 synopsis:            Applicative functor and monad which collects all your fails
 
 description: Applicative functor to perform parse-like actions and
-             collect wanrings/failures.
+             collect warnings/failures.
 
 license:             BSD3
 license-file:        LICENSE
@@ -38,6 +38,7 @@
                      , GeneralizedNewtypeDeriving
                      , LambdaCase
                      , MultiParamTypeClasses
+                     , RankNTypes
                      , ScopedTypeVariables
                      , StandaloneDeriving
                      , TupleSections
diff --git a/src/Control/Monad/Fail.hs b/src/Control/Monad/Fail.hs
--- a/src/Control/Monad/Fail.hs
+++ b/src/Control/Monad/Fail.hs
@@ -6,6 +6,8 @@
          FailT(..)
        , runFailC
        , runFailI
+       , mapFailTBase
+       , mapFailTFail
         -- * Helper functions
        , mfail
        , mwarn
@@ -18,6 +20,7 @@
 import Control.Monad.Reader
 import Control.Monad.State
 import Control.Monad.Writer
+import Data.Bifunctor
 import Data.Foldable
 import Data.Functor.Compose
 import Data.Functor.Identity
@@ -132,6 +135,15 @@
 runFailI :: FailT e Identity a -> Fail e a
 runFailI = runIdentity . runFailT
 {-# INLINEABLE runFailI #-}
+
+mapFailTBase :: (forall x. m x -> n x) -> FailT e m a -> FailT e n a
+mapFailTBase f (FailT ma) = FailT $ f ma
+{-# INLINEABLE mapFailTBase #-}
+
+-- | Like 'first' from 'Bifunctor' maps error type
+mapFailTFail :: (Functor m) => (e -> e') -> FailT e m a -> FailT e' m a
+mapFailTFail f (FailT ma) = FailT $ fmap (first f) ma
+{-# INLINEABLE mapFailTFail #-}
 
 deriving instance Eq (m (Fail e a)) => Eq (FailT e m a)
 deriving instance Ord (m (Fail e a)) => Ord (FailT e m a)
