diff --git a/deque.cabal b/deque.cabal
--- a/deque.cabal
+++ b/deque.cabal
@@ -1,7 +1,7 @@
 name:
   deque
 version:
-  0.2.2
+  0.2.3
 synopsis:
   Double-ended queue
 description:
@@ -42,7 +42,5 @@
   exposed-modules:
     Deque
   build-depends:
-    base >= 4.6 && < 5
-  if impl(ghc < 8.0)
-    build-depends:
-      semigroups >= 0.11 && < 0.19
+    base >= 4.9 && < 5,
+    semigroups >= 0.11 && < 0.19
diff --git a/library/Deque.hs b/library/Deque.hs
--- a/library/Deque.hs
+++ b/library/Deque.hs
@@ -3,6 +3,7 @@
 import Prelude hiding (foldr, foldr', foldl')
 import Control.Applicative
 import Control.Monad
+import Control.Monad.Fail
 import Data.Foldable
 import Data.Traversable
 import Data.Maybe
@@ -176,3 +177,6 @@
     empty
   mplus =
     (<|>)
+
+instance MonadFail Deque where
+  fail = const mempty
