diff --git a/Control/Monad/Levels.hs b/Control/Monad/Levels.hs
--- a/Control/Monad/Levels.hs
+++ b/Control/Monad/Levels.hs
@@ -75,6 +75,7 @@
  where
   return x = DepthBound (\d -> [(x,d)])
   a >>= f  = DepthBound (\d -> [ y | (x,d') <- a!d, y <- f x!d' ])
+  fail _   = DepthBound (const [])
 
 instance MonadPlus DepthBound
  where
diff --git a/level-monad.cabal b/level-monad.cabal
--- a/level-monad.cabal
+++ b/level-monad.cabal
@@ -1,5 +1,5 @@
 Name:          level-monad
-Version:       0.3
+Version:       0.3.1
 Cabal-Version: >= 1.6
 Synopsis:      Non-Determinism Monad for Level-Wise Search
 Description:   This Haskell library provides an implementation of the
