diff --git a/regex-genex.cabal b/regex-genex.cabal
--- a/regex-genex.cabal
+++ b/regex-genex.cabal
@@ -1,5 +1,5 @@
 Name            : regex-genex
-Version         : 0.6.2
+Version         : 0.7.0
 license         : OtherLicense
 license-file    : LICENSE
 cabal-version   : >= 1.6
@@ -12,7 +12,7 @@
 synopsis        : From a regex, generate all possible strings it can match
 description     : From a regex, generate all possible strings it can match
 author          : Audrey Tang <audreyt@audreyt.org>
-Tested-With:    GHC==7.0.2 GHC==7.4.1
+Tested-With:    GHC==7.10.1
 
 library
     hs-source-dirs:     . src
@@ -20,14 +20,14 @@
     other-modules:    Regex.Genex.Pure
     extensions      : ImplicitParams, NamedFieldPuns, ParallelListComp, PatternGuards, RecordWildCards
     build-depends:
-        base >= 3 && < 5, mtl, containers, sbv == 2.10, regex-tdfa, stream-monad, text, logict
+        base >= 3 && < 5, mtl, containers, sbv >= 5 && < 6, regex-tdfa, stream-monad, text, logict
 
 executable genex
     main-is:            Main.hs
     hs-source-dirs:     . src
     extensions      : ImplicitParams, NamedFieldPuns, ParallelListComp, PatternGuards, RecordWildCards
     build-depends:
-        base >= 3 && < 5, mtl, containers, sbv == 2.10, regex-tdfa
+        base >= 3 && < 5, mtl, containers, sbv >= 5 && < 6, regex-tdfa
 
 source-repository head
   type:     git
diff --git a/src/Regex/Genex.hs b/src/Regex/Genex.hs
--- a/src/Regex/Genex.hs
+++ b/src/Regex/Genex.hs
@@ -173,12 +173,12 @@
     }
 
 instance Mergeable Status where
-  symbolicMerge t s1 s2 = Status
-    { ok = symbolicMerge t (ok s1) (ok s2)
-    , pos = symbolicMerge t (pos s1) (pos s2)
-    , flips = symbolicMerge t (flips s1) (flips s2)
-    , captureAt = symbolicMerge t (captureAt s1) (captureAt s2)
-    , captureLen = symbolicMerge t (captureLen s1) (captureLen s2)
+  symbolicMerge f t s1 s2 = Status
+    { ok = symbolicMerge f t (ok s1) (ok s2)
+    , pos = symbolicMerge f t (pos s1) (pos s2)
+    , flips = symbolicMerge f t (flips s1) (flips s2)
+    , captureAt = symbolicMerge f t (captureAt s1) (captureAt s2)
+    , captureLen = symbolicMerge f t (captureLen s1) (captureLen s2)
     }
 
 choice :: (?str :: Str, ?pat :: Pattern) => Flips -> [Flips -> Status] -> Status
