diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -42,6 +42,7 @@
 - [X] 2018-12-14  v1.0.1.4  [Fix for GHC 8.4.4, GHC-8.6.2](https://github.com/iconnect/regex/milestone/23)
 - [X] 2018-12-18  v1.0.1.5  [TDFA quasi quoters not dealing with newlines](https://github.com/iconnect/regex/milestone/24)
 - [X] 2018-12-19  v1.0.2.0  [Tidy build issues](https://github.com/iconnect/regex/milestone/25)
+- [X] 2020-01-27  v1.1.0.0  [Adapt for MonadFail/base-4.13/GHC-8.8](https://github.com/iconnect/regex/milestone/26)
 
 
 See the [Roadmap page](http://roadmap.regex.uk) for details.
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,5 +1,9 @@
 -*-change-log-*-
 
+1.1.0.0 Chris Dornan <chris.dornan@irisconnect.co.uk> 2018-12-19
+  * drop support for GHC 8.0 and below
+  * adapt for base 4.13 (MonadFail)
+
 1.0.2.0 Chris Dornan <chris.dornan@irisconnect.co.uk> 2018-12-19
   * cabal-install build with 8.0 and 8.2 failing (#163)
   * Switch to GHC-8.6.3/nightly-2018-12-19 (#164)
diff --git a/examples/re-gen-cabals.lhs b/examples/re-gen-cabals.lhs
--- a/examples/re-gen-cabals.lhs
+++ b/examples/re-gen-cabals.lhs
@@ -316,7 +316,7 @@
   establish nm nm
   SH.shelly $ SH.verbosely $ do
     SH.cp readme "README.markdown"
-    SH.run_ "stack" ["sdist","--stack-yaml","stack-8.0.yaml"]
+    SH.run_ "stack" ["sdist","--stack-yaml","stack-8.8.yaml"]
     (pth,tb) <- analyse_so <$> SH.lastStderr
     SH.cp (SH.fromText $ pth) $ SH.fromText $ "releases/" M.<> tb
   where
diff --git a/examples/re-nginx-log-processor.lhs b/examples/re-nginx-log-processor.lhs
--- a/examples/re-nginx-log-processor.lhs
+++ b/examples/re-nginx-log-processor.lhs
@@ -263,7 +263,7 @@
     Event
       { _event_line     = lno
       , _event_source   = src
-      , _event_utc      = read "1970-01-01 00:00:00"
+      , _event_utc      = read "1970-01-01 00:00:00Z"
       , _event_severity = Nothing
       , _event_address  = (0,0,0,0)
       , _event_details  = lbs
@@ -496,7 +496,7 @@
   Access
     { _a_remote_addr      = (0,0,0,0)
     , _a_remote_user      = "-"
-    , _a_time_local       = read "1970-01-01 00:00:00"
+    , _a_time_local       = read "1970-01-01 00:00:00Z"
     , _a_request          = ""
     , _a_status           = 0
     , _a_body_bytes       = 0
diff --git a/examples/re-tests.lhs b/examples/re-tests.lhs
--- a/examples/re-tests.lhs
+++ b/examples/re-tests.lhs
@@ -500,13 +500,13 @@
                 => String
                 -> String
                 -> SearchReplace TDFA.RE s
-    tdfa_csr re_s = either error id . TDFA.compileSearchReplace re_s
+    tdfa_csr re_s = maybe (error "eek") id . TDFA.compileSearchReplace re_s
 
     pcre_csr    :: IsRegex PCRE.RE s
                 => String
                 -> String
                 -> SearchReplace PCRE.RE s
-    pcre_csr re_s = either error id . PCRE.compileSearchReplace re_s
+    pcre_csr re_s = maybe (error "eek") id . PCRE.compileSearchReplace re_s
 \end{code}
 
 
@@ -573,7 +573,7 @@
           -> (s->r->Maybe(Match s))
           -> (r->s->Match   s)
           -> (r->s->Matches s)
-          -> (s->s->Either String (SearchReplace r s))
+          -> (s->s->Maybe (SearchReplace r s))
           -> (String->s)
           -> r
           -> Assertion
@@ -600,7 +600,7 @@
         txt'    = inj "2016-01-09"
         txt''   = inj "09/01/2016 2015-12-5 05/10/2015"
 
-        mk_sr   = \r_ t_ -> either error id $ mk_sr0 r_ t_
+        mk_sr   = \r_ t_ -> maybe (error "agh") id $ mk_sr0 r_ t_
 
 
     re_pcre = fromMaybe oops $ PCRE.compileRegex "[0-9]{4}-[0-9]{2}-[0-9]{2}"
@@ -642,13 +642,13 @@
         ]
     ]
   where
-    tst :: ((String->String)->String->Either String a)
+    tst :: ((String->String)->String->Maybe a)
         -> (String->a->Match String)
         -> String
         -> Bool
     tst esc0 (%=~) s = matched $ s %=~ esc s
       where
-        esc = un_either . esc0 (("^" ++) . (++ "$"))
+        esc = un_maybe . esc0 (("^" ++) . (++ "$"))
 
     metacharacters :: String
     metacharacters = "^\\.|*+?()[]{}$"
@@ -1011,6 +1011,6 @@
 unsafe_find_capture_id :: CaptureID -> CaptureNames -> CaptureOrdinal
 unsafe_find_capture_id cid = either error id . findCaptureID cid
 
-un_either :: Either String a -> a
-un_either = either error id
+un_maybe :: Maybe a -> a
+un_maybe = maybe (error "urk") id
 \end{code}
diff --git a/examples/re-tutorial-options.lhs b/examples/re-tutorial-options.lhs
--- a/examples/re-tutorial-options.lhs
+++ b/examples/re-tutorial-options.lhs
@@ -123,8 +123,8 @@
 examples we will use this helper, which will extract the compiled RE using
 error to deal with any failures.
 \begin{code}
-check :: Either String a -> a
-check = either error id
+check :: Maybe a -> a
+check = maybe (error "booyah") id
 \end{code}
 
 \begin{code}
diff --git a/examples/re-tutorial.lhs b/examples/re-tutorial.lhs
--- a/examples/re-tutorial.lhs
+++ b/examples/re-tutorial.lhs
@@ -225,7 +225,7 @@
 compileRegex :: (Functor m, Monad m) => String -> m RE
 ```
 \begin{code}
-evalme_CPL_01 = checkThis "evalme_CPL_01" (["2016-01-09","2015-10-05"]) $ matches $ "2016-01-09 2015-12-5 2015-10-05" *=~ (either error id $ compileRegex "[0-9]{4}-[0-9]{2}-[0-9]{2}")
+evalme_CPL_01 = checkThis "evalme_CPL_01" (["2016-01-09","2015-10-05"]) $ matches $ "2016-01-09 2015-12-5 2015-10-05" *=~ (maybe (error "evalme_CPL_01") id $ compileRegex "[0-9]{4}-[0-9]{2}-[0-9]{2}")
 \end{code}
 
 These will compile the RE using the default multiline, case-sensitive options,
@@ -238,7 +238,7 @@
 %include "Text/RE/REOptions.lhs" "^data SimpleREOptions"
 
 \begin{code}
-evalme_CPL_02 = checkThis "evalme_CPL_02" (["2016-01-09","2015-10-05"]) $ matches $ "2016-01-09 2015-12-5 2015-10-05" *=~ (either error id $ compileRegexWith MultilineSensitive "[0-9]{4}-[0-9]{2}-[0-9]{2}")
+evalme_CPL_02 = checkThis "evalme_CPL_02" (["2016-01-09","2015-10-05"]) $ matches $ "2016-01-09 2015-12-5 2015-10-05" *=~ (maybe (error "evalme_CPL_01") id $ compileRegexWith MultilineSensitive "[0-9]{4}-[0-9]{2}-[0-9]{2}")
 \end{code}
 
 If you need to compile `SearchReplace` templates for use with `?=~/` and
@@ -265,7 +265,7 @@
 that will match the string passed in the second argument and yields the
 RE to be compiled, which is returned from the parsing action.
 \begin{code}
-evalme_CPL_03 = checkThis "evalme_CPL_03" ("foobar") $ "fooe{0}bar" *=~/ SearchReplace (either error id $ escape id "e{0}") ""
+evalme_CPL_03 = checkThis "evalme_CPL_03" ("foobar") $ "fooe{0}bar" *=~/ SearchReplace (maybe (error "evalme_CPL_03") id $ escape id "e{0}") ""
 \end{code}
 
 
diff --git a/lib/cabal-masters/constraints-incl.cabal b/lib/cabal-masters/constraints-incl.cabal
--- a/lib/cabal-masters/constraints-incl.cabal
+++ b/lib/cabal-masters/constraints-incl.cabal
@@ -1,30 +1,28 @@
 %-    array                   >= 0.4
 %-    base                    >= 4        && <  5
-%-    base-compat             >= 0.6
+%-    base-compat             >= 0.6      && <  1
 %-    blaze-html              >= 0.8.1.0
-%-    bytestring              == 0.10.*
+%-    bytestring              >= 0.10
 %-    containers              >= 0.4
 %-    data-default            >= 0.5.3
 %-    directory               >= 1.2.1.0
 %-    filepath                >= 1.3.0.2
-%-    hashable                == 1.2.*
+%-    hashable                >= 1.2
 %-    heredoc                 >= 0.2.0.0
 %-    http-conduit            >= 2.1.7.2
 %-    pandoc                  >= 1.13.2.1
-%-    regex-base              == 0.93.*
-%-    regex-pcre-builtin      == 0.94.*
-%-    regex-tdfa              == 1.2.*
-%-    regex-tdfa-text         == 1.0.*
-%-    regex-pcre-text         == 0.94.*
+%-    regex-base              >= 0.93
+%-    regex-pcre-builtin      >= 0.94
+%-    regex-tdfa              >= 1.2
 %-    shelly                  >= 1.6.1.2
 %-    smallcheck              >= 1.1.1
 %-    tasty                   >= 0.10.1.2
 %-    tasty-hunit             >= 0.9.2
 %-    tasty-smallcheck        >= 0.8.0.1
 %-    template-haskell        >= 2.7
-%-    text                    == 1.2.*
+%-    text                    >= 1.2
 %-    time                    >= 1.4.2
-%-    time-locale-compat      == 0.1.*
+%-    time-locale-compat      >= 0.1
 %-    transformers            >= 0.2.2
-%-    unordered-containers    == 0.2.*
+%-    unordered-containers    >= 0.2
 %-    utf8-string             >= 1
diff --git a/lib/cabal-masters/executables-incl.cabal b/lib/cabal-masters/executables-incl.cabal
--- a/lib/cabal-masters/executables-incl.cabal
+++ b/lib/cabal-masters/executables-incl.cabal
@@ -66,7 +66,7 @@
     Other-Modules:
       TestKit
 
-%build-depends-prog regex regex-with-pcre array base base-compat bytestring containers directory filepath heredoc regex-base regex-tdfa regex-tdfa-text regex-pcre-builtin shelly smallcheck tasty tasty-hunit tasty-smallcheck template-haskell text unordered-containers utf8-string
+%build-depends-prog regex regex-with-pcre array base base-compat bytestring containers directory filepath heredoc regex-base regex-tdfa regex-pcre-builtin shelly smallcheck tasty tasty-hunit tasty-smallcheck template-haskell text unordered-containers utf8-string
 
 %test-exe re-top
     Hs-Source-Dirs:     examples
@@ -87,7 +87,7 @@
       TestKit
 
     Other-Extensions:   QuasiQuotes
-%build-depends-prog regex array base base-compat bytestring containers directory hashable heredoc regex-base regex-tdfa regex-tdfa-text regex-pcre-builtin shelly smallcheck tasty tasty-hunit tasty-smallcheck template-haskell transformers text time time-locale-compat unordered-containers
+%build-depends-prog regex array base base-compat bytestring containers directory hashable heredoc regex-base regex-tdfa regex-pcre-builtin shelly smallcheck tasty tasty-hunit tasty-smallcheck template-haskell transformers text time time-locale-compat unordered-containers
 
 %test re-tutorial-os
     Hs-Source-Dirs:     examples
@@ -99,7 +99,7 @@
 
     Other-Extensions:   QuasiQuotes
                         OverloadedStrings
-%build-depends-prog regex array base base-compat bytestring containers directory hashable heredoc regex-base regex-tdfa regex-tdfa-text regex-pcre-builtin shelly smallcheck tasty tasty-hunit tasty-smallcheck template-haskell transformers text time time-locale-compat unordered-containers
+%build-depends-prog regex array base base-compat bytestring containers directory hashable heredoc regex-base regex-tdfa regex-pcre-builtin shelly smallcheck tasty tasty-hunit tasty-smallcheck template-haskell transformers text time time-locale-compat unordered-containers
 
 %test-exe re-tutorial-options
     Hs-Source-Dirs:     examples
@@ -110,7 +110,7 @@
       TestKit
 
     Other-Extensions:   QuasiQuotes
-%build-depends-prog regex regex-with-pcre array base base-compat bytestring containers directory hashable heredoc regex-base regex-tdfa regex-tdfa-text regex-pcre-builtin shelly smallcheck tasty tasty-hunit tasty-smallcheck template-haskell transformers text time time-locale-compat unordered-containers
+%build-depends-prog regex regex-with-pcre array base base-compat bytestring containers directory hashable heredoc regex-base regex-tdfa regex-pcre-builtin shelly smallcheck tasty tasty-hunit tasty-smallcheck template-haskell transformers text time time-locale-compat unordered-containers
 
 %test-exe re-tutorial-replacing
     Hs-Source-Dirs:     examples
@@ -121,7 +121,7 @@
       TestKit
 
     Other-Extensions:   QuasiQuotes
-%build-depends-prog regex array base base-compat bytestring containers directory hashable heredoc regex-base regex-tdfa regex-tdfa-text regex-pcre-builtin shelly smallcheck tasty tasty-hunit tasty-smallcheck template-haskell transformers text time time-locale-compat unordered-containers
+%build-depends-prog regex array base base-compat bytestring containers directory hashable heredoc regex-base regex-tdfa regex-pcre-builtin shelly smallcheck tasty tasty-hunit tasty-smallcheck template-haskell transformers text time time-locale-compat unordered-containers
 
 %test-exe re-tutorial-testbench
     Hs-Source-Dirs:     examples
@@ -132,7 +132,7 @@
       TestKit
 
     Other-Extensions:   QuasiQuotes
-%build-depends-prog regex array base base-compat bytestring containers directory hashable heredoc regex-base regex-tdfa regex-tdfa-text regex-pcre-builtin shelly smallcheck tasty tasty-hunit tasty-smallcheck template-haskell transformers text time time-locale-compat unordered-containers
+%build-depends-prog regex array base base-compat bytestring containers directory hashable heredoc regex-base regex-tdfa regex-pcre-builtin shelly smallcheck tasty tasty-hunit tasty-smallcheck template-haskell transformers text time time-locale-compat unordered-containers
 
 %test-exe re-tutorial-tools
     Hs-Source-Dirs:     examples
@@ -143,4 +143,4 @@
       TestKit
 
     Other-Extensions:   QuasiQuotes
-%build-depends-prog regex array base base-compat bytestring containers directory hashable heredoc regex-base regex-tdfa regex-tdfa-text regex-pcre-builtin shelly smallcheck tasty tasty-hunit tasty-smallcheck template-haskell transformers text time time-locale-compat unordered-containers
+%build-depends-prog regex array base base-compat bytestring containers directory hashable heredoc regex-base regex-tdfa regex-pcre-builtin shelly smallcheck tasty tasty-hunit tasty-smallcheck template-haskell transformers text time time-locale-compat unordered-containers
diff --git a/lib/cabal-masters/library-incl.cabal b/lib/cabal-masters/library-incl.cabal
--- a/lib/cabal-masters/library-incl.cabal
+++ b/lib/cabal-masters/library-incl.cabal
@@ -29,6 +29,7 @@
       Text.RE.Tools.Lex
       Text.RE.Tools.Sed
       Text.RE.ZeInternals
+      Text.RE.ZeInternals.Types.Poss
 
     Other-Modules:
       Text.RE.ZeInternals.AddCaptureNames
diff --git a/lib/cabal-masters/mega-regex.cabal b/lib/cabal-masters/mega-regex.cabal
--- a/lib/cabal-masters/mega-regex.cabal
+++ b/lib/cabal-masters/mega-regex.cabal
@@ -6,7 +6,7 @@
                         matches and captures, a text replacement toolkit,
                         portable options, high-level AWK-like tools
                         for building text processing apps, regular expression
-                        macros with parsers and test bench, omprehensive
+                        macros with parsers and test bench, comprehensive
                         documentation, tutorials and copious examples.
 Homepage:               http://regex.uk
 Author:                 Chris Dornan
@@ -38,7 +38,7 @@
 
 %include "lib/cabal-masters/library-incl.cabal"
 
-%build-depends-lib array bytestring base base-compat containers hashable regex-base regex-tdfa regex-tdfa-text regex-pcre-builtin regex-pcre-text template-haskell text time time-locale-compat transformers unordered-containers utf8-string
+%build-depends-lib array bytestring base base-compat containers hashable regex-base regex-tdfa regex-pcre-builtin template-haskell text time time-locale-compat transformers unordered-containers utf8-string
 
 %include "lib/cabal-masters/executables-incl.cabal"
 
diff --git a/lib/cabal-masters/regex.cabal b/lib/cabal-masters/regex.cabal
--- a/lib/cabal-masters/regex.cabal
+++ b/lib/cabal-masters/regex.cabal
@@ -3,6 +3,6 @@
 %include "lib/cabal-masters/constraints-incl.cabal"
 %include "lib/cabal-masters/library-incl.cabal" exclude "PCRE"
 
-%build-depends-lib array base base-compat bytestring containers hashable regex-base regex-pcre-builtin regex-tdfa regex-tdfa-text template-haskell text time time-locale-compat transformers unordered-containers utf8-string
+%build-depends-lib array base base-compat bytestring containers hashable regex-base regex-pcre-builtin regex-tdfa template-haskell text time time-locale-compat transformers unordered-containers utf8-string
 
 -- Generated with re-gen-cabals
diff --git a/lib/cabal-masters/test-extra-source-files-incl.cabal b/lib/cabal-masters/test-extra-source-files-incl.cabal
--- a/lib/cabal-masters/test-extra-source-files-incl.cabal
+++ b/lib/cabal-masters/test-extra-source-files-incl.cabal
@@ -35,4 +35,3 @@
     src/Text/RE/TDFA/String.hs
     src/Text/RE/TDFA/Text.hs
     src/Text/RE/TDFA/Text/Lazy.hs
-    stack-8.0.yaml
diff --git a/lib/mega-regex.cabal b/lib/mega-regex.cabal
--- a/lib/mega-regex.cabal
+++ b/lib/mega-regex.cabal
@@ -1,12 +1,12 @@
 Name:                   regex
-Version:                1.0.2.0
+Version:                1.1.0.0
 Synopsis:               Toolkit for regex-base
 Description:            A regular expression toolkit for regex-base with
                         compile-time checking of RE syntax, data types for
                         matches and captures, a text replacement toolkit,
                         portable options, high-level AWK-like tools
                         for building text processing apps, regular expression
-                        macros with parsers and test bench, omprehensive
+                        macros with parsers and test bench, comprehensive
                         documentation, tutorials and copious examples.
 Homepage:               http://regex.uk
 Author:                 Chris Dornan
@@ -56,7 +56,6 @@
     src/Text/RE/TDFA/String.hs
     src/Text/RE/TDFA/Text.hs
     src/Text/RE/TDFA/Text/Lazy.hs
-    stack-8.0.yaml
 
 
 Cabal-Version:          >= 1.10
@@ -68,7 +67,7 @@
 Source-Repository this
     Type:               git
     Location:           https://github.com/iconnect/regex.git
-    Tag:                1.0.2.0
+    Tag:                1.1.0.0
 
 
 
@@ -103,6 +102,7 @@
       Text.RE.Tools.Lex
       Text.RE.Tools.Sed
       Text.RE.ZeInternals
+      Text.RE.ZeInternals.Types.Poss
 
     Other-Modules:
       Text.RE.ZeInternals.AddCaptureNames
@@ -177,21 +177,19 @@
     Build-depends:
         array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
-      , hashable             == 1.2.*
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-pcre-text      == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , hashable             >= 1.2
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
       , utf8-string          >= 1
 
 
@@ -214,14 +212,14 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , regex-base           == 0.93.*
-      , regex-tdfa           == 1.2.*
+      , regex-base           >= 0.93
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
 
 
 Test-Suite re-gen-cabals-test
@@ -244,14 +242,14 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , regex-base           == 0.93.*
-      , regex-tdfa           == 1.2.*
+      , regex-base           >= 0.93
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
 
 
 
@@ -274,13 +272,13 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , directory            >= 1.2.1.0
-      , regex-base           == 0.93.*
-      , regex-tdfa           == 1.2.*
+      , regex-base           >= 0.93
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
 
 
 Test-Suite re-gen-modules-test
@@ -303,13 +301,13 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , directory            >= 1.2.1.0
-      , regex-base           == 0.93.*
-      , regex-tdfa           == 1.2.*
+      , regex-base           >= 0.93
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
 
 
 
@@ -331,11 +329,11 @@
     Build-depends:
         regex                
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , directory            >= 1.2.1.0
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
 
 
 Test-Suite re-include-test
@@ -357,11 +355,11 @@
     Build-depends:
         regex                
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , directory            >= 1.2.1.0
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
 
 
 
@@ -384,18 +382,18 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
-      , regex-base           == 0.93.*
-      , regex-tdfa           == 1.2.*
+      , regex-base           >= 0.93
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 Test-Suite re-nginx-log-processor-test
@@ -418,18 +416,18 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
-      , regex-base           == 0.93.*
-      , regex-tdfa           == 1.2.*
+      , regex-base           >= 0.93
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 
@@ -451,14 +449,14 @@
     Build-depends:
         regex                
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
       , heredoc              >= 0.2.0.0
       , http-conduit         >= 2.1.7.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
 
 
 Test-Suite re-prep-test
@@ -480,14 +478,14 @@
     Build-depends:
         regex                
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
       , heredoc              >= 0.2.0.0
       , http-conduit         >= 2.1.7.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
 
 
 
@@ -509,12 +507,12 @@
     Build-depends:
         regex                
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
 
 
 Test-Suite re-sort-imports-test
@@ -536,12 +534,12 @@
     Build-depends:
         regex                
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
 
 
 
@@ -564,24 +562,23 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
-      , unordered-containers == 0.2.*
+      , text                 >= 1.2
+      , unordered-containers >= 0.2
       , utf8-string          >= 1
 
 
@@ -605,24 +602,23 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
-      , unordered-containers == 0.2.*
+      , text                 >= 1.2
+      , unordered-containers >= 0.2
       , utf8-string          >= 1
 
 
@@ -645,18 +641,18 @@
     Build-depends:
         regex                
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
+      , base-compat          >= 0.6      && <  1
       , blaze-html           >= 0.8.1.0
-      , bytestring           == 0.10.*
+      , bytestring           >= 0.10
       , data-default         >= 0.5.3
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 Test-Suite re-top-test
@@ -678,18 +674,18 @@
     Build-depends:
         regex                
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
+      , base-compat          >= 0.6      && <  1
       , blaze-html           >= 0.8.1.0
-      , bytestring           == 0.10.*
+      , bytestring           >= 0.10
       , data-default         >= 0.5.3
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 
@@ -713,27 +709,26 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 Test-Suite re-tutorial-test
@@ -757,27 +752,26 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 
@@ -803,27 +797,26 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 
@@ -847,27 +840,26 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 Test-Suite re-tutorial-options-test
@@ -891,27 +883,26 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 
@@ -935,27 +926,26 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 Test-Suite re-tutorial-replacing-test
@@ -979,27 +969,26 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 
@@ -1023,27 +1012,26 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 Test-Suite re-tutorial-testbench-test
@@ -1067,27 +1055,26 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 
@@ -1111,27 +1098,26 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 
@@ -1156,27 +1142,26 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 
diff --git a/lib/version.txt b/lib/version.txt
--- a/lib/version.txt
+++ b/lib/version.txt
@@ -1,1 +1,1 @@
-1.0.2.0
+1.1.0.0
diff --git a/regex-examples.cabal b/regex-examples.cabal
--- a/regex-examples.cabal
+++ b/regex-examples.cabal
@@ -1,5 +1,5 @@
 Name:                   regex-examples
-Version:                1.0.2.0
+Version:                1.1.0.0
 Synopsis:               Tutorial, tests and example programs for regex
 Description:            Tutorial, tests and example programs for regex,
                         a Regular Expression Toolkit for regex-base with
@@ -56,7 +56,6 @@
     src/Text/RE/TDFA/String.hs
     src/Text/RE/TDFA/Text.hs
     src/Text/RE/TDFA/Text/Lazy.hs
-    stack-8.0.yaml
 
 
 Cabal-Version:          >= 1.10
@@ -68,7 +67,7 @@
 Source-Repository this
     Type:               git
     Location:           https://github.com/iconnect/regex.git
-    Tag:                1.0.2.0
+    Tag:                1.1.0.0
 
 
 Executable re-gen-cabals
@@ -90,14 +89,14 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , regex-base           == 0.93.*
-      , regex-tdfa           == 1.2.*
+      , regex-base           >= 0.93
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
 
 
 Test-Suite re-gen-cabals-test
@@ -120,14 +119,14 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , regex-base           == 0.93.*
-      , regex-tdfa           == 1.2.*
+      , regex-base           >= 0.93
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
 
 
 
@@ -150,13 +149,13 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , directory            >= 1.2.1.0
-      , regex-base           == 0.93.*
-      , regex-tdfa           == 1.2.*
+      , regex-base           >= 0.93
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
 
 
 Test-Suite re-gen-modules-test
@@ -179,13 +178,13 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , directory            >= 1.2.1.0
-      , regex-base           == 0.93.*
-      , regex-tdfa           == 1.2.*
+      , regex-base           >= 0.93
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
 
 
 
@@ -207,11 +206,11 @@
     Build-depends:
         regex                
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , directory            >= 1.2.1.0
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
 
 
 Test-Suite re-include-test
@@ -233,11 +232,11 @@
     Build-depends:
         regex                
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , directory            >= 1.2.1.0
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
 
 
 
@@ -261,18 +260,18 @@
       , regex-with-pcre      
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
-      , regex-base           == 0.93.*
-      , regex-tdfa           == 1.2.*
+      , regex-base           >= 0.93
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 Test-Suite re-nginx-log-processor-test
@@ -296,18 +295,18 @@
       , regex-with-pcre      
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
-      , regex-base           == 0.93.*
-      , regex-tdfa           == 1.2.*
+      , regex-base           >= 0.93
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 
@@ -329,14 +328,14 @@
     Build-depends:
         regex                
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
       , heredoc              >= 0.2.0.0
       , http-conduit         >= 2.1.7.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
 
 
 Test-Suite re-prep-test
@@ -358,14 +357,14 @@
     Build-depends:
         regex                
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
       , heredoc              >= 0.2.0.0
       , http-conduit         >= 2.1.7.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
 
 
 
@@ -387,12 +386,12 @@
     Build-depends:
         regex                
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
 
 
 Test-Suite re-sort-imports-test
@@ -414,12 +413,12 @@
     Build-depends:
         regex                
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
 
 
 
@@ -443,24 +442,23 @@
       , regex-with-pcre      
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
-      , unordered-containers == 0.2.*
+      , text                 >= 1.2
+      , unordered-containers >= 0.2
       , utf8-string          >= 1
 
 
@@ -485,24 +483,23 @@
       , regex-with-pcre      
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
-      , unordered-containers == 0.2.*
+      , text                 >= 1.2
+      , unordered-containers >= 0.2
       , utf8-string          >= 1
 
 
@@ -525,18 +522,18 @@
     Build-depends:
         regex                
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
+      , base-compat          >= 0.6      && <  1
       , blaze-html           >= 0.8.1.0
-      , bytestring           == 0.10.*
+      , bytestring           >= 0.10
       , data-default         >= 0.5.3
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 Test-Suite re-top-test
@@ -558,18 +555,18 @@
     Build-depends:
         regex                
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
+      , base-compat          >= 0.6      && <  1
       , blaze-html           >= 0.8.1.0
-      , bytestring           == 0.10.*
+      , bytestring           >= 0.10
       , data-default         >= 0.5.3
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
       , shelly               >= 1.6.1.2
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 
@@ -593,27 +590,26 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 Test-Suite re-tutorial-test
@@ -637,27 +633,26 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 
@@ -683,27 +678,26 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 
@@ -728,27 +722,26 @@
       , regex-with-pcre      
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 Test-Suite re-tutorial-options-test
@@ -773,27 +766,26 @@
       , regex-with-pcre      
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 
@@ -817,27 +809,26 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 Test-Suite re-tutorial-replacing-test
@@ -861,27 +852,26 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 
@@ -905,27 +895,26 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 Test-Suite re-tutorial-testbench-test
@@ -949,27 +938,26 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 
@@ -993,27 +981,26 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 
@@ -1038,27 +1025,26 @@
         regex                
       , array                >= 0.4
       , base                 >= 4        && <  5
-      , base-compat          >= 0.6
-      , bytestring           == 0.10.*
+      , base-compat          >= 0.6      && <  1
+      , bytestring           >= 0.10
       , containers           >= 0.4
       , directory            >= 1.2.1.0
-      , hashable             == 1.2.*
+      , hashable             >= 1.2
       , heredoc              >= 0.2.0.0
-      , regex-base           == 0.93.*
-      , regex-pcre-builtin   == 0.94.*
-      , regex-tdfa           == 1.2.*
-      , regex-tdfa-text      == 1.0.*
+      , regex-base           >= 0.93
+      , regex-pcre-builtin   >= 0.94
+      , regex-tdfa           >= 1.2
       , shelly               >= 1.6.1.2
       , smallcheck           >= 1.1.1
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
       , template-haskell     >= 2.7
-      , text                 == 1.2.*
+      , text                 >= 1.2
       , time                 >= 1.4.2
-      , time-locale-compat   == 0.1.*
+      , time-locale-compat   >= 0.1
       , transformers         >= 0.2.2
-      , unordered-containers == 0.2.*
+      , unordered-containers >= 0.2
 
 
 
diff --git a/src/Text/RE/PCRE/ByteString.hs b/src/Text/RE/PCRE/ByteString.hs
--- a/src/Text/RE/PCRE/ByteString.hs
+++ b/src/Text/RE/PCRE/ByteString.hs
@@ -7,6 +7,7 @@
 {-# LANGUAGE CPP                            #-}
 #if __GLASGOW_HASKELL__ >= 800
 {-# OPTIONS_GHC -fno-warn-redundant-constraints #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports        #-}
 #endif
 
 module Text.RE.PCRE.ByteString
@@ -84,6 +85,7 @@
   , module Text.RE.Tools.IsRegex
   ) where
 
+import           Control.Monad.Fail
 import qualified Data.ByteString               as B
 import           Data.Typeable
 import           Prelude.Compat
@@ -146,7 +148,7 @@
 (=~) bs rex = addCaptureNames (reCaptureNames rex) $ match (reRegex rex) bs
 
 -- | the `regex-base` monadic, polymorphic match operator
-(=~~) :: ( Monad m
+(=~~) :: ( Monad m, MonadFail m
          , Functor m
          , Typeable a
          , RegexContext PCRE.Regex B.ByteString a
diff --git a/src/Text/RE/PCRE/ByteString/Lazy.hs b/src/Text/RE/PCRE/ByteString/Lazy.hs
--- a/src/Text/RE/PCRE/ByteString/Lazy.hs
+++ b/src/Text/RE/PCRE/ByteString/Lazy.hs
@@ -7,6 +7,7 @@
 {-# LANGUAGE CPP                            #-}
 #if __GLASGOW_HASKELL__ >= 800
 {-# OPTIONS_GHC -fno-warn-redundant-constraints #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports        #-}
 #endif
 
 module Text.RE.PCRE.ByteString.Lazy
@@ -84,6 +85,7 @@
   , module Text.RE.Tools.IsRegex
   ) where
 
+import           Control.Monad.Fail
 import qualified Data.ByteString.Lazy          as LBS
 import           Data.Typeable
 import           Prelude.Compat
@@ -146,7 +148,7 @@
 (=~) bs rex = addCaptureNames (reCaptureNames rex) $ match (reRegex rex) bs
 
 -- | the `regex-base` monadic, polymorphic match operator
-(=~~) :: ( Monad m
+(=~~) :: ( Monad m, MonadFail m
          , Functor m
          , Typeable a
          , RegexContext PCRE.Regex LBS.ByteString a
diff --git a/src/Text/RE/PCRE/Sequence.hs b/src/Text/RE/PCRE/Sequence.hs
--- a/src/Text/RE/PCRE/Sequence.hs
+++ b/src/Text/RE/PCRE/Sequence.hs
@@ -7,6 +7,7 @@
 {-# LANGUAGE CPP                            #-}
 #if __GLASGOW_HASKELL__ >= 800
 {-# OPTIONS_GHC -fno-warn-redundant-constraints #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports        #-}
 #endif
 
 module Text.RE.PCRE.Sequence
@@ -84,6 +85,7 @@
   , module Text.RE.Tools.IsRegex
   ) where
 
+import           Control.Monad.Fail
 import qualified Data.Sequence                 as S
 import           Data.Typeable
 import           Prelude.Compat
@@ -146,7 +148,7 @@
 (=~) bs rex = addCaptureNames (reCaptureNames rex) $ match (reRegex rex) bs
 
 -- | the `regex-base` monadic, polymorphic match operator
-(=~~) :: ( Monad m
+(=~~) :: ( Monad m, MonadFail m
          , Functor m
          , Typeable a
          , RegexContext PCRE.Regex (S.Seq Char) a
diff --git a/src/Text/RE/PCRE/String.hs b/src/Text/RE/PCRE/String.hs
--- a/src/Text/RE/PCRE/String.hs
+++ b/src/Text/RE/PCRE/String.hs
@@ -7,6 +7,7 @@
 {-# LANGUAGE CPP                            #-}
 #if __GLASGOW_HASKELL__ >= 800
 {-# OPTIONS_GHC -fno-warn-redundant-constraints #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports        #-}
 #endif
 
 module Text.RE.PCRE.String
@@ -84,7 +85,7 @@
   , module Text.RE.Tools.IsRegex
   ) where
 
-
+import           Control.Monad.Fail
 import           Data.Typeable
 import           Prelude.Compat
 import           Text.RE.REOptions
@@ -96,6 +97,7 @@
 import           Text.RE.ZeInternals.SearchReplace.PCRE.String
 import           Text.Regex.Base
 import qualified Text.Regex.PCRE               as PCRE
+
 -- NB regex-base instance imports maybe be needed for for some API modules
 
 -- | find all the matches in the argument text; e.g., to count the number
@@ -146,7 +148,7 @@
 (=~) bs rex = addCaptureNames (reCaptureNames rex) $ match (reRegex rex) bs
 
 -- | the `regex-base` monadic, polymorphic match operator
-(=~~) :: ( Monad m
+(=~~) :: ( Monad m, MonadFail m
          , Functor m
          , Typeable a
          , RegexContext PCRE.Regex String a
diff --git a/src/Text/RE/PCRE/Text.hs b/src/Text/RE/PCRE/Text.hs
--- a/src/Text/RE/PCRE/Text.hs
+++ b/src/Text/RE/PCRE/Text.hs
@@ -7,6 +7,7 @@
 {-# LANGUAGE CPP                            #-}
 #if __GLASGOW_HASKELL__ >= 800
 {-# OPTIONS_GHC -fno-warn-redundant-constraints #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports        #-}
 #endif
 
 module Text.RE.PCRE.Text
@@ -84,6 +85,7 @@
   , module Text.RE.Tools.IsRegex
   ) where
 
+import           Control.Monad.Fail
 import qualified Data.Text                     as T
 import           Data.Typeable
 import           Prelude.Compat
@@ -146,7 +148,7 @@
 (=~) bs rex = addCaptureNames (reCaptureNames rex) $ match (reRegex rex) bs
 
 -- | the `regex-base` monadic, polymorphic match operator
-(=~~) :: ( Monad m
+(=~~) :: ( Monad m, MonadFail m
          , Functor m
          , Typeable a
          , RegexContext PCRE.Regex T.Text a
diff --git a/src/Text/RE/PCRE/Text/Lazy.hs b/src/Text/RE/PCRE/Text/Lazy.hs
--- a/src/Text/RE/PCRE/Text/Lazy.hs
+++ b/src/Text/RE/PCRE/Text/Lazy.hs
@@ -7,6 +7,7 @@
 {-# LANGUAGE CPP                            #-}
 #if __GLASGOW_HASKELL__ >= 800
 {-# OPTIONS_GHC -fno-warn-redundant-constraints #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports        #-}
 #endif
 
 module Text.RE.PCRE.Text.Lazy
@@ -84,6 +85,7 @@
   , module Text.RE.Tools.IsRegex
   ) where
 
+import           Control.Monad.Fail
 import qualified Data.Text.Lazy                as TL
 import           Data.Typeable
 import           Prelude.Compat
@@ -146,7 +148,7 @@
 (=~) bs rex = addCaptureNames (reCaptureNames rex) $ match (reRegex rex) bs
 
 -- | the `regex-base` monadic, polymorphic match operator
-(=~~) :: ( Monad m
+(=~~) :: ( Monad m, MonadFail m
          , Functor m
          , Typeable a
          , RegexContext PCRE.Regex TL.Text a
diff --git a/src/Text/RE/TDFA/ByteString.hs b/src/Text/RE/TDFA/ByteString.hs
--- a/src/Text/RE/TDFA/ByteString.hs
+++ b/src/Text/RE/TDFA/ByteString.hs
@@ -7,6 +7,7 @@
 {-# LANGUAGE CPP                            #-}
 #if __GLASGOW_HASKELL__ >= 800
 {-# OPTIONS_GHC -fno-warn-redundant-constraints #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports        #-}
 #endif
 
 module Text.RE.TDFA.ByteString
@@ -84,6 +85,7 @@
   , module Text.RE.Tools.IsRegex
   ) where
 
+import           Control.Monad.Fail
 import qualified Data.ByteString               as B
 import           Data.Typeable
 import           Prelude.Compat
@@ -146,7 +148,7 @@
 (=~) bs rex = addCaptureNames (reCaptureNames rex) $ match (reRegex rex) bs
 
 -- | the `regex-base` monadic, polymorphic match operator
-(=~~) :: ( Monad m
+(=~~) :: ( Monad m, MonadFail m
          , Functor m
          , Typeable a
          , RegexContext TDFA.Regex B.ByteString a
diff --git a/src/Text/RE/TDFA/ByteString/Lazy.hs b/src/Text/RE/TDFA/ByteString/Lazy.hs
--- a/src/Text/RE/TDFA/ByteString/Lazy.hs
+++ b/src/Text/RE/TDFA/ByteString/Lazy.hs
@@ -7,6 +7,7 @@
 {-# LANGUAGE CPP                            #-}
 #if __GLASGOW_HASKELL__ >= 800
 {-# OPTIONS_GHC -fno-warn-redundant-constraints #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports        #-}
 #endif
 
 module Text.RE.TDFA.ByteString.Lazy
@@ -84,6 +85,7 @@
   , module Text.RE.Tools.IsRegex
   ) where
 
+import           Control.Monad.Fail
 import qualified Data.ByteString.Lazy.Char8    as LBS
 import           Data.Typeable
 import           Prelude.Compat
@@ -146,7 +148,7 @@
 (=~) bs rex = addCaptureNames (reCaptureNames rex) $ match (reRegex rex) bs
 
 -- | the `regex-base` monadic, polymorphic match operator
-(=~~) :: ( Monad m
+(=~~) :: ( Monad m, MonadFail m
          , Functor m
          , Typeable a
          , RegexContext TDFA.Regex LBS.ByteString a
diff --git a/src/Text/RE/TDFA/Sequence.hs b/src/Text/RE/TDFA/Sequence.hs
--- a/src/Text/RE/TDFA/Sequence.hs
+++ b/src/Text/RE/TDFA/Sequence.hs
@@ -7,6 +7,7 @@
 {-# LANGUAGE CPP                            #-}
 #if __GLASGOW_HASKELL__ >= 800
 {-# OPTIONS_GHC -fno-warn-redundant-constraints #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports        #-}
 #endif
 
 module Text.RE.TDFA.Sequence
@@ -84,6 +85,7 @@
   , module Text.RE.Tools.IsRegex
   ) where
 
+import           Control.Monad.Fail
 import qualified Data.Sequence                 as S
 import           Data.Typeable
 import           Prelude.Compat
@@ -146,7 +148,7 @@
 (=~) bs rex = addCaptureNames (reCaptureNames rex) $ match (reRegex rex) bs
 
 -- | the `regex-base` monadic, polymorphic match operator
-(=~~) :: ( Monad m
+(=~~) :: ( Monad m, MonadFail m
          , Functor m
          , Typeable a
          , RegexContext TDFA.Regex (S.Seq Char) a
diff --git a/src/Text/RE/TDFA/String.hs b/src/Text/RE/TDFA/String.hs
--- a/src/Text/RE/TDFA/String.hs
+++ b/src/Text/RE/TDFA/String.hs
@@ -7,6 +7,7 @@
 {-# LANGUAGE CPP                            #-}
 #if __GLASGOW_HASKELL__ >= 800
 {-# OPTIONS_GHC -fno-warn-redundant-constraints #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports        #-}
 #endif
 
 module Text.RE.TDFA.String
@@ -84,7 +85,7 @@
   , module Text.RE.Tools.IsRegex
   ) where
 
-
+import           Control.Monad.Fail
 import           Data.Typeable
 import           Prelude.Compat
 import           Text.RE.REOptions
@@ -96,6 +97,7 @@
 import           Text.RE.ZeInternals.TDFA
 import           Text.Regex.Base
 import qualified Text.Regex.TDFA               as TDFA
+
 -- NB regex-base instance imports maybe be needed for for some API modules
 
 -- | find all the matches in the argument text; e.g., to count the number
@@ -146,7 +148,7 @@
 (=~) bs rex = addCaptureNames (reCaptureNames rex) $ match (reRegex rex) bs
 
 -- | the `regex-base` monadic, polymorphic match operator
-(=~~) :: ( Monad m
+(=~~) :: ( Monad m, MonadFail m
          , Functor m
          , Typeable a
          , RegexContext TDFA.Regex String a
diff --git a/src/Text/RE/TDFA/Text.hs b/src/Text/RE/TDFA/Text.hs
--- a/src/Text/RE/TDFA/Text.hs
+++ b/src/Text/RE/TDFA/Text.hs
@@ -7,6 +7,7 @@
 {-# LANGUAGE CPP                            #-}
 #if __GLASGOW_HASKELL__ >= 800
 {-# OPTIONS_GHC -fno-warn-redundant-constraints #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports        #-}
 #endif
 
 module Text.RE.TDFA.Text
@@ -84,6 +85,7 @@
   , module Text.RE.Tools.IsRegex
   ) where
 
+import           Control.Monad.Fail
 import qualified Data.Text                     as T
 import           Data.Typeable
 import           Prelude.Compat
@@ -146,7 +148,7 @@
 (=~) bs rex = addCaptureNames (reCaptureNames rex) $ match (reRegex rex) bs
 
 -- | the `regex-base` monadic, polymorphic match operator
-(=~~) :: ( Monad m
+(=~~) :: ( Monad m, MonadFail m
          , Functor m
          , Typeable a
          , RegexContext TDFA.Regex T.Text a
diff --git a/src/Text/RE/TDFA/Text/Lazy.hs b/src/Text/RE/TDFA/Text/Lazy.hs
--- a/src/Text/RE/TDFA/Text/Lazy.hs
+++ b/src/Text/RE/TDFA/Text/Lazy.hs
@@ -7,6 +7,7 @@
 {-# LANGUAGE CPP                            #-}
 #if __GLASGOW_HASKELL__ >= 800
 {-# OPTIONS_GHC -fno-warn-redundant-constraints #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports        #-}
 #endif
 
 module Text.RE.TDFA.Text.Lazy
@@ -84,6 +85,7 @@
   , module Text.RE.Tools.IsRegex
   ) where
 
+import           Control.Monad.Fail
 import qualified Data.Text.Lazy                as TL
 import           Data.Typeable
 import           Prelude.Compat
@@ -146,7 +148,7 @@
 (=~) bs rex = addCaptureNames (reCaptureNames rex) $ match (reRegex rex) bs
 
 -- | the `regex-base` monadic, polymorphic match operator
-(=~~) :: ( Monad m
+(=~~) :: ( Monad m, MonadFail m
          , Functor m
          , Typeable a
          , RegexContext TDFA.Regex TL.Text a
diff --git a/stack-8.0.yaml b/stack-8.0.yaml
deleted file mode 100644
--- a/stack-8.0.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
-resolver: lts-8.16
-install-ghc: true
-flags: {}
-packages:
-- '.'
-system-ghc: false
-extra-deps:
-  - regex-pcre-text-0.94.0.0
