diff --git a/library/Rebase/Control/Monad/Fail.hs b/library/Rebase/Control/Monad/Fail.hs
new file mode 100644
--- /dev/null
+++ b/library/Rebase/Control/Monad/Fail.hs
@@ -0,0 +1,7 @@
+module Rebase.Control.Monad.Fail
+(
+  module Control.Monad.Fail,
+)
+where
+
+import Control.Monad.Fail
diff --git a/library/Rebase/Prelude.hs b/library/Rebase/Prelude.hs
--- a/library/Rebase/Prelude.hs
+++ b/library/Rebase/Prelude.hs
@@ -13,7 +13,7 @@
 
 -- base-prelude
 -------------------------
-import BasePrelude as Exports hiding (Last(..), First(..), (<>), first, second)
+import BasePrelude as Exports hiding (Last(..), First(..), (<>), first, second, fail)
 
 -- base
 -------------------------
@@ -67,6 +67,10 @@
 import Rebase.Control.Monad.Trans.Either as Exports hiding (left, right)
 import Rebase.Data.Either.Combinators as Exports hiding (isLeft, isRight)
 import Rebase.Data.Either.Validation as Exports
+
+-- fail
+-------------------------
+import Rebase.Control.Monad.Fail as Exports
 
 -- hashable
 -------------------------
diff --git a/rebase.cabal b/rebase.cabal
--- a/rebase.cabal
+++ b/rebase.cabal
@@ -1,7 +1,7 @@
 name:
   rebase
 version:
-  0.4.3
+  0.5
 synopsis:
   A more progressive alternative to the "base" package
 description:
@@ -134,6 +134,8 @@
     Rebase.Control.Monad.Trans.Either
     Rebase.Data.Either.Combinators
     Rebase.Data.Either.Validation
+    -- fail:
+    Rebase.Control.Monad.Fail
   build-depends:
     -- data:
     hashable >= 1.2 && < 2,
@@ -157,6 +159,7 @@
     transformers >= 0.4 && < 0.6,
     mtl >= 2.2 && < 3.0,
     either >= 4.4 && < 5,
+    fail >= 4.9 && < 5,
     -- general:
     base-prelude >= 0.1.21 && < 2,
     base >= 4.6 && < 5
