diff --git a/README.markdown b/README.markdown
--- a/README.markdown
+++ b/README.markdown
@@ -64,6 +64,8 @@
 
 &nbsp;&nbsp;&nbsp;&nbsp;&#x2612;&nbsp;&nbsp;2017-03-18  v0.9.0.0  [Finish tidying up the API, Add type-safe replacement templates and exploit TemplateHaskellQuotes](https://github.com/iconnect/regex/milestone/9)
 
+&nbsp;&nbsp;&nbsp;&nbsp;&#x2612;&nbsp;&nbsp;2017-03-18  v0.10.0.0 [Tweak TypeSafe SearchReplace templates](https://github.com/iconnect/regex/milestone/11)
+
 &nbsp;&nbsp;&nbsp;&nbsp;&#x2610;&nbsp;&nbsp;2017-03-31  v1.0.0.0  [First stable release](https://github.com/iconnect/regex/milestone/3)
 
 &nbsp;&nbsp;&nbsp;&nbsp;&#x2610;&nbsp;&nbsp;2017-08-31  v2.0.0.0  [Fast text replacement with benchmarks](https://github.com/iconnect/regex/milestone/4)
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,5 +1,9 @@
 -*-change-log-*-
 
+0.10.0.0 Chris Dornan <chris.dornan@irisconnect.co.uk> 2017-03-25
+  * Tweak Type-Safe SearchReplace templates (#86)
+  * Add escape methods to IsRegex (#87)
+
 0.9.0.0 Chris Dornan <chris.dornan@irisconnect.co.uk> 2017-03-23
   * Flip the order of the arguments to replace (#78)
   * Add type-safe replacement templates (#60)
diff --git a/examples/re-gen-modules.lhs b/examples/re-gen-modules.lhs
--- a/examples/re-gen-modules.lhs
+++ b/examples/re-gen-modules.lhs
@@ -30,6 +30,9 @@
 import           Text.RE.Types.SearchReplace
 
 
+type ModPath = String
+
+
 main :: IO ()
 main = do
   (pn,as) <- (,) <$> getProgName <*> getArgs
@@ -41,87 +44,180 @@
       hPutStrLn stderr $ "usage: " ++ pn ++ " [test|gen]"
       exitWith $ ExitFailure 1
 
+
+------------------------------------------------------------------------
+-- Testing
+------------------------------------------------------------------------
+
 test :: IO ()
 test = do
   createDirectoryIfMissing False "tmp"
-  tdfa_ok <- and <$> mapM test' tdfa_edits
-  pcre_ok <- and <$> mapM test' pcre_edits
-  case tdfa_ok && pcre_ok of
+  tdfa_ap_ok <- and <$> mapM (test' source_api_mp) tdfa_api_edits
+  pcre_ap_ok <- and <$> mapM (test' source_api_mp) pcre_api_edits
+  tdfa_ed_ok <- and <$> mapM (test' source_ed_mp ) tdfa_ed_edits
+  pcre_ed_ok <- and <$> mapM (test' source_ed_mp ) pcre_ed_edits
+  case tdfa_ap_ok && pcre_ap_ok && tdfa_ed_ok && pcre_ed_ok of
     True  -> return ()
     False -> exitWith $ ExitFailure 1
 
 type SedScript = Edits IO RE LBS.ByteString
 
-test' :: (ModPath,SedScript) -> IO Bool
-test' (mp,scr) = do
+test' :: ModPath -> (ModPath,SedScript) -> IO Bool
+test' src_mp (mp,scr) = do
     putStrLn mp
     tp <- is_text_present
-    sed scr (mod_filepath tp source_mp) tmp_pth
+    sed scr (mod_filepath tp src_mp) tmp_pth
     cmp     (T.pack tmp_pth) (T.pack $ mod_filepath tp mp)
   where
     tmp_pth = "tmp/prog.hs"
 
+
+------------------------------------------------------------------------
+-- Generating
+------------------------------------------------------------------------
+
 gen :: IO ()
 gen = do
-  mapM_ gen' tdfa_edits
-  mapM_ gen' pcre_edits
+  mapM_ (gen' source_api_mp) tdfa_api_edits
+  mapM_ (gen' source_api_mp) pcre_api_edits
+  mapM_ (gen' source_ed_mp ) tdfa_ed_edits
+  mapM_ (gen' source_ed_mp ) pcre_ed_edits
 
-gen' :: (ModPath,SedScript) -> IO ()
-gen' (mp,scr) = do
+gen' :: FilePath -> (ModPath,SedScript) -> IO ()
+gen' src_mp (mp,scr) = do
   putStrLn mp
   tp <- is_text_present
-  sed scr (mod_filepath tp source_mp) (mod_filepath tp mp)
+  sed scr (mod_filepath tp src_mp) (mod_filepath tp mp)
 
-tdfa_edits :: [(ModPath,SedScript)]
-tdfa_edits =
-  [ tdfa_edit "Text.RE.TDFA.ByteString"       "B.ByteString"    "import qualified Data.ByteString               as B"
-  , tdfa_edit "Text.RE.TDFA.Sequence"         "(S.Seq Char)"    "import qualified Data.Sequence                 as S"
-  , tdfa_edit "Text.RE.TDFA.String"           "String"          ""
-  , tdfa_edit "Text.RE.TDFA.Text"             "T.Text"          "import qualified Data.Text                     as T"
-  , tdfa_edit "Text.RE.TDFA.Text.Lazy"        "TL.Text"         "import qualified Data.Text.Lazy                as TL"
+
+------------------------------------------------------------------------
+-- The API edits
+------------------------------------------------------------------------
+
+tdfa_api_edits :: [(ModPath,SedScript)]
+tdfa_api_edits =
+  [ tdfa_api_edit "TDFA.ByteString"       "B.ByteString"    "import qualified Data.ByteString               as B"
+  , tdfa_api_edit "TDFA.Sequence"         "(S.Seq Char)"    "import qualified Data.Sequence                 as S"
+  , tdfa_api_edit "TDFA.String"           "String"          ""
+  , tdfa_api_edit "TDFA.Text"             "T.Text"          "import qualified Data.Text                     as T"
+  , tdfa_api_edit "TDFA.Text.Lazy"        "TL.Text"         "import qualified Data.Text.Lazy                as TL"
   ]
 
-pcre_edits :: [(ModPath,SedScript)]
-pcre_edits =
-  [ pcre_edit "Text.RE.PCRE.ByteString"       "B.ByteString"    "import qualified Data.ByteString               as B"
-  , pcre_edit "Text.RE.PCRE.ByteString.Lazy"  "LBS.ByteString"  "import qualified Data.ByteString.Lazy          as LBS"
-  , pcre_edit "Text.RE.PCRE.Sequence"         "(S.Seq Char)"    "import qualified Data.Sequence                 as S"
-  , pcre_edit "Text.RE.PCRE.String"           "String"          ""
+pcre_api_edits :: [(ModPath,SedScript)]
+pcre_api_edits =
+  [ pcre_api_edit "PCRE.ByteString"       "B.ByteString"    "import qualified Data.ByteString               as B"
+  , pcre_api_edit "PCRE.ByteString.Lazy"  "LBS.ByteString"  "import qualified Data.ByteString.Lazy          as LBS"
+  , pcre_api_edit "PCRE.Sequence"         "(S.Seq Char)"    "import qualified Data.Sequence                 as S"
+  , pcre_api_edit "PCRE.String"           "String"          ""
   ]
 
-tdfa_edit :: ModPath
-          -> LBS.ByteString
-          -> LBS.ByteString
-          -> (ModPath,SedScript)
-tdfa_edit mp bs_lbs import_lbs =
-    (,) mp $ Pipe
+tdfa_api_edit :: ModPath
+              -> LBS.ByteString
+              -> LBS.ByteString
+              -> (ModPath,SedScript)
+tdfa_api_edit mp bs_lbs import_lbs =
+    (,) fmp $ Pipe
         [ Template $ SearchReplace module_re $ LBS.pack mp
         , Template $ SearchReplace import_re   import_lbs
         , Template $ SearchReplace bs_re       bs_lbs
         ]
+  where
+    fmp = "Text.RE." ++ mp
 
-pcre_edit :: ModPath
-          -> LBS.ByteString
-          -> LBS.ByteString
-          -> (ModPath,SedScript)
-pcre_edit mp bs_lbs import_lbs =
-    (,) mp $ Pipe
+pcre_api_edit :: ModPath
+              -> LBS.ByteString
+              -> LBS.ByteString
+              -> (ModPath,SedScript)
+pcre_api_edit mp bs_lbs import_lbs =
+    (,) fmp $ Pipe
         [ Template $ SearchReplace tdfa_re     "PCRE"
         , Template $ SearchReplace module_re $ LBS.pack mp
         , Template $ SearchReplace import_re   import_lbs
         , Template $ SearchReplace bs_re       bs_lbs
         ]
-
-type ModPath = String
+  where
+    fmp = "Text.RE." ++ mp
 
-source_mp :: ModPath
-source_mp = "Text.RE.TDFA.ByteString.Lazy"
+source_api_mp :: ModPath
+source_api_mp = "Text.RE.TDFA.ByteString.Lazy"
 
 tdfa_re, module_re, import_re, bs_re :: RE
 tdfa_re   = [re|TDFA|]
-module_re = [re|Text.RE.TDFA.ByteString.Lazy|]
+module_re = [re|TDFA.ByteString.Lazy|]
 import_re = [re|import qualified Data.ByteString.Lazy.Char8 *as LBS|]
 bs_re     = [re|LBS.ByteString|]
+
+
+------------------------------------------------------------------------
+-- The ed quasi quoter edits
+------------------------------------------------------------------------
+
+source_ed_mp :: ModPath
+source_ed_mp = "Text.RE.Internal.SearchReplace.TDFA.ByteString.Lazy"
+
+tdfa_ed_edits :: [(ModPath,SedScript)]
+tdfa_ed_edits =
+  [ (,) "Text.RE.Internal.SearchReplace.TDFA.ByteString" $ Pipe
+      [ Template [ed|SearchReplace.TDFA.ByteString.Lazy///SearchReplace.TDFA.ByteString|]
+      , Template [ed|Data.ByteString.Lazy.Char8    as LBS///Data.ByteString.Char8         as B|]
+      , Template [ed|LBS.ByteString///B.ByteString|]
+      ]
+  , (,) "Text.RE.Internal.SearchReplace.TDFA.Sequence" $ Pipe
+      [ Template [ed|SearchReplace.TDFA.ByteString.Lazy///SearchReplace.TDFA.Sequence|]
+      , Template [ed|Data.ByteString.Lazy.Char8    as LBS///Data.Sequence                 as S|]
+      , Template [ed|LBS.ByteString///(S.Seq Char)|]
+      ]
+  , (,) "Text.RE.Internal.SearchReplace.TDFA.String" $ Pipe
+      [ Template [ed|SearchReplace.TDFA.ByteString.Lazy///SearchReplace.TDFA.String|]
+      , Template [ed|import qualified Data.ByteString.Lazy.Char8    as LBS///|]
+      , Template [ed|LBS.ByteString///String|]
+      ]
+  , (,) "Text.RE.Internal.SearchReplace.TDFA.Text" $ Pipe
+      [ Template [ed|SearchReplace.TDFA.ByteString.Lazy///SearchReplace.TDFA.Text|]
+      , Template [ed|Data.ByteString.Lazy.Char8    as LBS///Data.Text                     as T|]
+      , Template [ed|LBS.ByteString///T.Text|]
+      ]
+  , (,) "Text.RE.Internal.SearchReplace.TDFA.Text.Lazy" $ Pipe
+      [ Template [ed|SearchReplace.TDFA.ByteString.Lazy///SearchReplace.TDFA.Text.Lazy|]
+      , Template [ed|Data.ByteString.Lazy.Char8    as LBS///Data.Text.Lazy                as TL|]
+      , Template [ed|LBS.ByteString///TL.Text|]
+      ]
+  ]
+
+pcre_ed_edits :: [(ModPath,SedScript)]
+pcre_ed_edits =
+  [ (,) "Text.RE.Internal.SearchReplace.PCRE.ByteString" $ pipe
+      [ Template [ed|SearchReplace.TDFA.ByteString.Lazy///SearchReplace.PCRE.ByteString|]
+      , Template [ed|Data.ByteString.Lazy.Char8    as LBS///Data.ByteString.Char8         as B|]
+      , Template [ed|LBS.ByteString///B.ByteString|]
+      ]
+  , (,) "Text.RE.Internal.SearchReplace.PCRE.ByteString.Lazy" $ pipe
+      [ Template [ed|SearchReplace.TDFA.ByteString.Lazy///SearchReplace.PCRE.ByteString.Lazy|]
+      , Template [ed|Text.RE.TDFA.RE///Text.RE.PCRE.RE|]
+      ]
+  , (,) "Text.RE.Internal.SearchReplace.PCRE.Sequence" $ pipe
+      [ Template [ed|SearchReplace.TDFA.ByteString.Lazy///SearchReplace.PCRE.Sequence|]
+      , Template [ed|Data.ByteString.Lazy.Char8    as LBS///Data.Sequence                 as S|]
+      , Template [ed|LBS.ByteString///(S.Seq Char)|]
+      , Template [ed|Text.RE.TDFA.RE///Text.RE.PCRE.RE|]
+      ]
+  , (,) "Text.RE.Internal.SearchReplace.PCRE.String" $ pipe
+      [ Template [ed|SearchReplace.TDFA.ByteString.Lazy///SearchReplace.PCRE.String|]
+      , Template [ed|import qualified Data.ByteString.Lazy.Char8    as LBS///|]
+      , Template [ed|LBS.ByteString///String|]
+      , Template [ed|Text.RE.TDFA.RE///Text.RE.PCRE.RE|]
+      ]
+  ]
+  where
+    pipe as = Pipe $ as ++
+      [ Template [ed|Text.RE.TDFA.RE///Text.RE.PCRE.RE|]
+      , Template [ed|Text.RE.Internal.SearchReplace.TDFAEdPrime///Text.RE.Internal.SearchReplace.PCREEdPrime|]
+      ]
+
+
+------------------------------------------------------------------------
+-- Helpers
+------------------------------------------------------------------------
 
 mod_filepath :: Bool -> ModPath -> FilePath
 mod_filepath text_present mp = pfx ++ map tr mp ++ ".hs"
diff --git a/examples/re-tests.lhs b/examples/re-tests.lhs
--- a/examples/re-tests.lhs
+++ b/examples/re-tests.lhs
@@ -240,12 +240,17 @@
             assertEqual "RE" re_s $ regexSource r
         , testCase "Match" $ do
             r <- mk' re_s
-            assertEqual "Match" (pk <$> regex_str_match) $ matchOnce r $ pk str_
+            assertEqual "Match"  (pk <$> regex_str_match) $ matchOnce r $ pk str_
+        , testCase "Escape" $ do
+            r <- esc $ pk "foobar"
+            assertEqual "String" (pk "bar") $ matchSource $ matchOnce r $ pk "bar"
         ]
       where
         mk   = makeRegex              `asTypeOf` mk0
 
         mk'  = makeRegexWith minBound `asTypeOf` mk0
+
+        esc  = makeEscaped id         `asTypeOf` mk0
 
         re_s = pk $ reSource regex_
 
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
@@ -11,6 +11,21 @@
       Text.RE.Internal.NamedCaptures
       Text.RE.Internal.PreludeMacros
       Text.RE.Internal.QQ
+      Text.RE.Internal.SearchReplace
+      Text.RE.Internal.SearchReplace.PCRE
+      Text.RE.Internal.SearchReplace.PCRE.ByteString
+      Text.RE.Internal.SearchReplace.PCRE.ByteString.Lazy
+      Text.RE.Internal.SearchReplace.PCRE.Sequence
+      Text.RE.Internal.SearchReplace.PCRE.String
+      Text.RE.Internal.SearchReplace.PCREEdPrime
+      Text.RE.Internal.SearchReplace.TDFA
+      Text.RE.Internal.SearchReplace.TDFA.ByteString
+      Text.RE.Internal.SearchReplace.TDFA.ByteString.Lazy
+      Text.RE.Internal.SearchReplace.TDFA.Sequence
+      Text.RE.Internal.SearchReplace.TDFA.String
+      Text.RE.Internal.SearchReplace.TDFA.Text
+      Text.RE.Internal.SearchReplace.TDFA.Text.Lazy
+      Text.RE.Internal.SearchReplace.TDFAEdPrime
       Text.RE.PCRE
       Text.RE.PCRE.ByteString
       Text.RE.PCRE.ByteString.Lazy
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
@@ -4,13 +4,13 @@
 
 Library
     Hs-Source-Dirs:     .
+
     Exposed-Modules:
       Text.RE
       Text.RE.Internal.AddCaptureNames
       Text.RE.Internal.EscapeREString
       Text.RE.Internal.NamedCaptures
       Text.RE.Internal.PreludeMacros
-      Text.RE.Internal.QQ
       Text.RE.SearchReplace
       Text.RE.Summa
       Text.RE.TDFA
@@ -38,6 +38,17 @@
       Text.RE.Types.REOptions
       Text.RE.Types.Replace
       Text.RE.Types.SearchReplace
+
+    Other-Modules:
+      Text.RE.Internal.QQ
+      Text.RE.Internal.SearchReplace.TDFA
+      Text.RE.Internal.SearchReplace.TDFA.ByteString
+      Text.RE.Internal.SearchReplace.TDFA.ByteString.Lazy
+      Text.RE.Internal.SearchReplace.TDFA.Sequence
+      Text.RE.Internal.SearchReplace.TDFA.String
+      Text.RE.Internal.SearchReplace.TDFA.Text
+      Text.RE.Internal.SearchReplace.TDFA.Text.Lazy
+      Text.RE.Internal.SearchReplace.TDFAEdPrime
 
 %build-depends-lib array bytestring base base-compat containers hashable regex-base regex-tdfa regex-tdfa-text template-haskell text time time-locale-compat transformers unordered-containers
 
diff --git a/lib/mega-regex.cabal b/lib/mega-regex.cabal
--- a/lib/mega-regex.cabal
+++ b/lib/mega-regex.cabal
@@ -1,5 +1,5 @@
 Name:                   regex
-Version:                0.9.0.0
+Version:                0.10.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
@@ -62,7 +62,7 @@
 Source-Repository this
     Type:               git
     Location:           https://github.com/iconnect/regex.git
-    Tag:                0.9.0.0
+    Tag:                0.10.0.0
 
 
 
@@ -79,6 +79,21 @@
       Text.RE.Internal.NamedCaptures
       Text.RE.Internal.PreludeMacros
       Text.RE.Internal.QQ
+      Text.RE.Internal.SearchReplace
+      Text.RE.Internal.SearchReplace.PCRE
+      Text.RE.Internal.SearchReplace.PCRE.ByteString
+      Text.RE.Internal.SearchReplace.PCRE.ByteString.Lazy
+      Text.RE.Internal.SearchReplace.PCRE.Sequence
+      Text.RE.Internal.SearchReplace.PCRE.String
+      Text.RE.Internal.SearchReplace.PCREEdPrime
+      Text.RE.Internal.SearchReplace.TDFA
+      Text.RE.Internal.SearchReplace.TDFA.ByteString
+      Text.RE.Internal.SearchReplace.TDFA.ByteString.Lazy
+      Text.RE.Internal.SearchReplace.TDFA.Sequence
+      Text.RE.Internal.SearchReplace.TDFA.String
+      Text.RE.Internal.SearchReplace.TDFA.Text
+      Text.RE.Internal.SearchReplace.TDFA.Text.Lazy
+      Text.RE.Internal.SearchReplace.TDFAEdPrime
       Text.RE.PCRE
       Text.RE.PCRE.ByteString
       Text.RE.PCRE.ByteString.Lazy
@@ -181,7 +196,7 @@
       -Werror
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
@@ -211,7 +226,7 @@
       -Werror
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
@@ -238,7 +253,7 @@
       -Werror
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
@@ -264,7 +279,7 @@
       -Werror
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
@@ -293,7 +308,7 @@
       -Werror
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
       , bytestring           >= 0.10.2.0
@@ -319,7 +334,7 @@
       -Werror
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
       , bytestring           >= 0.10.2.0
@@ -342,7 +357,7 @@
       -Werror
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
@@ -372,7 +387,7 @@
       -Werror
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
@@ -405,7 +420,7 @@
       -Werror
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
       , bytestring           >= 0.10.2.0
@@ -433,7 +448,7 @@
       -Werror
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
       , bytestring           >= 0.10.2.0
@@ -461,7 +476,7 @@
       -Werror
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
@@ -499,7 +514,7 @@
       -Werror
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
@@ -538,7 +553,7 @@
       -Werror
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
@@ -582,7 +597,7 @@
       -Werror
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
@@ -628,7 +643,7 @@
       -Werror
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
diff --git a/lib/version.txt b/lib/version.txt
--- a/lib/version.txt
+++ b/lib/version.txt
@@ -1,1 +1,1 @@
-0.9.0.0
+0.10.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:                0.9.0.0
+Version:                0.10.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
@@ -63,7 +63,7 @@
 Source-Repository this
     Type:               git
     Location:           https://github.com/iconnect/regex.git
-    Tag:                0.9.0.0
+    Tag:                0.10.0.0
 
 
 
@@ -83,7 +83,7 @@
       -Wwarn
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
@@ -113,7 +113,7 @@
       -Wwarn
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
@@ -140,7 +140,7 @@
       -Wwarn
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
@@ -166,7 +166,7 @@
       -Wwarn
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
@@ -195,7 +195,7 @@
       -Wwarn
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
       , bytestring           >= 0.10.2.0
@@ -221,7 +221,7 @@
       -Wwarn
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
       , bytestring           >= 0.10.2.0
@@ -244,8 +244,8 @@
       -Wwarn
 
     Build-depends:
-        regex                == 0.9.0.0
-      , regex-with-pcre      == 0.9.0.0
+        regex                == 0.10.0.0
+      , regex-with-pcre      == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
@@ -275,8 +275,8 @@
       -Wwarn
 
     Build-depends:
-        regex                == 0.9.0.0
-      , regex-with-pcre      == 0.9.0.0
+        regex                == 0.10.0.0
+      , regex-with-pcre      == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
@@ -309,7 +309,7 @@
       -Wwarn
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
       , bytestring           >= 0.10.2.0
@@ -337,7 +337,7 @@
       -Wwarn
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
       , bytestring           >= 0.10.2.0
@@ -365,8 +365,8 @@
       -Wwarn
 
     Build-depends:
-        regex                == 0.9.0.0
-      , regex-with-pcre      == 0.9.0.0
+        regex                == 0.10.0.0
+      , regex-with-pcre      == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
@@ -404,8 +404,8 @@
       -Wwarn
 
     Build-depends:
-        regex                == 0.9.0.0
-      , regex-with-pcre      == 0.9.0.0
+        regex                == 0.10.0.0
+      , regex-with-pcre      == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
@@ -444,7 +444,7 @@
       -Wwarn
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
@@ -488,7 +488,7 @@
       -Wwarn
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
@@ -534,7 +534,7 @@
       -Wwarn
 
     Build-depends:
-        regex                == 0.9.0.0
+        regex                == 0.10.0.0
       , array                >= 0.4
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
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
@@ -44,6 +44,7 @@
   , escape
   , escapeWith
   , module Text.RE.PCRE.RE
+  , module Text.RE.Internal.SearchReplace.PCRE.ByteString
   ) where
 
 import           Prelude.Compat
@@ -52,6 +53,7 @@
 import           Text.Regex.Base
 import           Text.RE
 import           Text.RE.Internal.AddCaptureNames
+import           Text.RE.Internal.SearchReplace.PCRE.ByteString
 import           Text.RE.SearchReplace
 import           Text.RE.Types.IsRegex
 import           Text.RE.Types.REOptions
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
@@ -44,6 +44,7 @@
   , escape
   , escapeWith
   , module Text.RE.PCRE.RE
+  , module Text.RE.Internal.SearchReplace.PCRE.ByteString.Lazy
   ) where
 
 import           Prelude.Compat
@@ -52,6 +53,7 @@
 import           Text.Regex.Base
 import           Text.RE
 import           Text.RE.Internal.AddCaptureNames
+import           Text.RE.Internal.SearchReplace.PCRE.ByteString.Lazy
 import           Text.RE.SearchReplace
 import           Text.RE.Types.IsRegex
 import           Text.RE.Types.REOptions
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
@@ -44,6 +44,7 @@
   , escape
   , escapeWith
   , module Text.RE.PCRE.RE
+  , module Text.RE.Internal.SearchReplace.PCRE.Sequence
   ) where
 
 import           Prelude.Compat
@@ -52,6 +53,7 @@
 import           Text.Regex.Base
 import           Text.RE
 import           Text.RE.Internal.AddCaptureNames
+import           Text.RE.Internal.SearchReplace.PCRE.Sequence
 import           Text.RE.SearchReplace
 import           Text.RE.Types.IsRegex
 import           Text.RE.Types.REOptions
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
@@ -44,6 +44,7 @@
   , escape
   , escapeWith
   , module Text.RE.PCRE.RE
+  , module Text.RE.Internal.SearchReplace.PCRE.String
   ) where
 
 import           Prelude.Compat
@@ -52,6 +53,7 @@
 import           Text.Regex.Base
 import           Text.RE
 import           Text.RE.Internal.AddCaptureNames
+import           Text.RE.Internal.SearchReplace.PCRE.String
 import           Text.RE.SearchReplace
 import           Text.RE.Types.IsRegex
 import           Text.RE.Types.REOptions
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
@@ -44,6 +44,7 @@
   , escape
   , escapeWith
   , module Text.RE.TDFA.RE
+  , module Text.RE.Internal.SearchReplace.TDFA.ByteString
   ) where
 
 import           Prelude.Compat
@@ -52,6 +53,7 @@
 import           Text.Regex.Base
 import           Text.RE
 import           Text.RE.Internal.AddCaptureNames
+import           Text.RE.Internal.SearchReplace.TDFA.ByteString
 import           Text.RE.SearchReplace
 import           Text.RE.Types.IsRegex
 import           Text.RE.Types.REOptions
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
@@ -44,6 +44,7 @@
   , escape
   , escapeWith
   , module Text.RE.TDFA.RE
+  , module Text.RE.Internal.SearchReplace.TDFA.ByteString.Lazy
   ) where
 
 import           Prelude.Compat
@@ -52,6 +53,7 @@
 import           Text.Regex.Base
 import           Text.RE
 import           Text.RE.Internal.AddCaptureNames
+import           Text.RE.Internal.SearchReplace.TDFA.ByteString.Lazy
 import           Text.RE.SearchReplace
 import           Text.RE.Types.IsRegex
 import           Text.RE.Types.REOptions
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
@@ -44,6 +44,7 @@
   , escape
   , escapeWith
   , module Text.RE.TDFA.RE
+  , module Text.RE.Internal.SearchReplace.TDFA.Sequence
   ) where
 
 import           Prelude.Compat
@@ -52,6 +53,7 @@
 import           Text.Regex.Base
 import           Text.RE
 import           Text.RE.Internal.AddCaptureNames
+import           Text.RE.Internal.SearchReplace.TDFA.Sequence
 import           Text.RE.SearchReplace
 import           Text.RE.Types.IsRegex
 import           Text.RE.Types.REOptions
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
@@ -44,6 +44,7 @@
   , escape
   , escapeWith
   , module Text.RE.TDFA.RE
+  , module Text.RE.Internal.SearchReplace.TDFA.String
   ) where
 
 import           Prelude.Compat
@@ -52,6 +53,7 @@
 import           Text.Regex.Base
 import           Text.RE
 import           Text.RE.Internal.AddCaptureNames
+import           Text.RE.Internal.SearchReplace.TDFA.String
 import           Text.RE.SearchReplace
 import           Text.RE.Types.IsRegex
 import           Text.RE.Types.REOptions
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
@@ -44,6 +44,7 @@
   , escape
   , escapeWith
   , module Text.RE.TDFA.RE
+  , module Text.RE.Internal.SearchReplace.TDFA.Text
   ) where
 
 import           Prelude.Compat
@@ -52,6 +53,7 @@
 import           Text.Regex.Base
 import           Text.RE
 import           Text.RE.Internal.AddCaptureNames
+import           Text.RE.Internal.SearchReplace.TDFA.Text
 import           Text.RE.SearchReplace
 import           Text.RE.Types.IsRegex
 import           Text.RE.Types.REOptions
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
@@ -44,6 +44,7 @@
   , escape
   , escapeWith
   , module Text.RE.TDFA.RE
+  , module Text.RE.Internal.SearchReplace.TDFA.Text.Lazy
   ) where
 
 import           Prelude.Compat
@@ -52,6 +53,7 @@
 import           Text.Regex.Base
 import           Text.RE
 import           Text.RE.Internal.AddCaptureNames
+import           Text.RE.Internal.SearchReplace.TDFA.Text.Lazy
 import           Text.RE.SearchReplace
 import           Text.RE.Types.IsRegex
 import           Text.RE.Types.REOptions
