diff --git a/deque.cabal b/deque.cabal
--- a/deque.cabal
+++ b/deque.cabal
@@ -1,5 +1,5 @@
 name: deque
-version: 0.4.2
+version: 0.4.2.1
 synopsis: Double-ended queues
 description:
   Strict and lazy implementations of Double-Ended Queue (aka Dequeue or Deque)
diff --git a/library/Deque/Lazy/Defs.hs b/library/Deque/Lazy/Defs.hs
--- a/library/Deque/Lazy/Defs.hs
+++ b/library/Deque/Lazy/Defs.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-|
 Definitions of lazy Deque.
 
@@ -249,7 +250,9 @@
         Deque bConsList bSnocList -> bConsList <> foldl' (flip (:)) accBConsList bSnocList
       in foldr aStep (foldr aStep [] (List.reverse aSnocList)) aConsList
     in Deque consList []
+#if !(MIN_VERSION_base(4,13,0))
   fail = const mempty
+#endif
 
 instance Alternative Deque where
   empty = mempty
diff --git a/library/Deque/Strict/Defs.hs b/library/Deque/Strict/Defs.hs
--- a/library/Deque/Strict/Defs.hs
+++ b/library/Deque/Strict/Defs.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-|
 Definitions of strict Deque.
 
@@ -261,7 +262,9 @@
         Deque bConsList bSnocList -> StrictList.prependReversed bConsList (bSnocList <> accBSnocList)
       in foldl' aStep (foldl' aStep StrictList.Nil aConsList) (StrictList.reverse aSnocList)
     in Deque StrictList.Nil snocList
+#if !(MIN_VERSION_base(4,13,0))
   fail = const mempty
+#endif
 
 instance Alternative Deque where
   empty = mempty
