diff --git a/Web/Route/Invertible/Sequence.hs b/Web/Route/Invertible/Sequence.hs
--- a/Web/Route/Invertible/Sequence.hs
+++ b/Web/Route/Invertible/Sequence.hs
@@ -24,11 +24,12 @@
   , reverseSequence
   ) where
 
-import Control.Invertible.Monoidal
-import Control.Invertible.Monoidal.Free
-import Control.Monad (MonadPlus, mzero, guard)
+import           Control.Invertible.Monoidal
+import           Control.Invertible.Monoidal.Free
+import           Control.Monad (MonadPlus, mzero, guard)
+import           Control.Monad.Fail (MonadFail)
 import qualified Data.Invertible as I
-import Data.String (IsString(..))
+import           Data.String (IsString(..))
 
 import Web.Route.Invertible.Parameter
 import Web.Route.Invertible.Placeholder
@@ -80,7 +81,7 @@
   f PlaceholderParameter a = maybe mzero return (parseParameter a)
 
 -- |Parse a sequence into possible values.  Can return all possible values as a list or (usually) a single value as 'Maybe'.
-parseSequence :: (MonadPlus m, Eq s) => Sequence s a -> [s] -> m a
+parseSequence :: (MonadPlus m, MonadFail m, Eq s) => Sequence s a -> [s] -> m a
 parseSequence p l = do
   (a, []) <- readsSequence p l
   return a
diff --git a/web-inv-route.cabal b/web-inv-route.cabal
--- a/web-inv-route.cabal
+++ b/web-inv-route.cabal
@@ -1,5 +1,5 @@
 name:                web-inv-route
-version:             0.1.2.1
+version:             0.1.2.2
 synopsis:            Composable, reversible, efficient web routing using invertible invariants and bijections
 description:
   Utilities to route HTTP requests, mainly focused on path components.  Routes are specified using bijections and invariant functors, allowing run-time composition (routes can be distributed across modules), reverse and forward routing derived from the same specification, and O(log n) lookups.
@@ -23,7 +23,7 @@
 copyright:           2016-2018
 category:            Web
 build-type:          Simple
-cabal-version:       >=1.20
+cabal-version:       1.20
 
 source-repository head
   type: git
