diff --git a/Text/RE/PCRE.hs b/Text/RE/PCRE.hs
--- a/Text/RE/PCRE.hs
+++ b/Text/RE/PCRE.hs
@@ -20,9 +20,6 @@
   -- * The SearchReplace Operators
   , (*=~/)
   , (?=~/)
-  -- * The Classic rexex-base Match Operators
-  , (=~)
-  , (=~~)
   -- * Matches
   , Matches
   , matchesSource
@@ -35,17 +32,25 @@
   , matchSource
   , matched
   , matchedText
-  -- * The 'RE' Type and Functions
+  -- * The 'RE' Type
   , RE
-  , SimpleREOptions(..)
   , reSource
+  -- * Options
+  -- $options
+  , SimpleREOptions(..)
+  -- * Compiling and Escaping REs
   , compileRegex
   , compileRegexWith
   , escape
   , escapeWith
   , escapeREString
+  -- * The Classic rexex-base Match Operators
+  , (=~)
+  , (=~~)
+  -- * The Quasi Quoters and Minor Functions
+  -- $re
   , module Text.RE.ZeInternals.PCRE
-  -- * The [ed| ... |] quasi quoters
+  -- $ed
   , module Text.RE.ZeInternals.SearchReplace.PCRE
   -- * The Operator Instances
   -- $instances
@@ -71,7 +76,8 @@
 import           Text.RE.REOptions
 
 
--- | find all matches in text; e.g., to count the number of naturals in s:
+-- | find all the matches in the argument text; e.g., to count the number
+-- of naturals in s:
 --
 --   @countMatches $ s *=~ [re|[0-9]+|]@
 --
@@ -81,21 +87,35 @@
       -> Matches s
 (*=~) bs rex = addCaptureNamesToMatches (reCaptureNames rex) $ matchMany rex bs
 
--- | find first match in text
+-- | find the first match in the argument text; e.g., to test if there
+-- is a natural number in the input text:
+--
+--   @matched $ s ?=~ [re|[0-9]+|]@
+--
 (?=~) :: IsRegex RE s
       => s
       -> RE
       -> Match s
 (?=~) bs rex = addCaptureNamesToMatch (reCaptureNames rex) $ matchOnce rex bs
 
--- | search and replace once
-(?=~/) :: IsRegex RE s => s -> SearchReplace RE s -> s
-(?=~/) = flip searchReplaceFirst
-
--- | search and replace, all occurrences
+-- | search and replace all matches in the argument text; e.g., this section
+-- will convert every YYYY-MM-DD format date in its argument text into a
+-- DD\/MM\/YYYY date:
+--
+--   @(*=~\/ [ed|${y}([0-9]{4})-0*${m}([0-9]{2})-0*${d}([0-9]{2})\/\/\/${d}\/${m}\/${y}|])@
+--
 (*=~/) :: IsRegex RE s => s -> SearchReplace RE s -> s
 (*=~/) = flip searchReplaceAll
 
+-- | search and replace the first occurrence only (if any) in the input text
+-- e.g., to prefix the first string of four hex digits in the imput text,
+-- if any, with @0x@:
+--
+--  @(?=~\/ [ed|[0-9A-Fa-f]{4}\/\/\/0x$0|])
+--
+(?=~/) :: IsRegex RE s => s -> SearchReplace RE s -> s
+(?=~/) = flip searchReplaceFirst
+
 -- | the regex-base polymorphic match operator
 (=~) :: ( B.RegexContext PCRE.Regex s a
         , B.RegexMaker   PCRE.Regex PCRE.CompOption PCRE.ExecOption s
@@ -120,7 +140,7 @@
 
 -- $about
 -- This module provides access to the back end through polymorphic functions
--- that operate over all of the String/Text/ByteString types supported by the
+-- that operate over all of the String\/Text\/ByteString types supported by the
 -- PCRE back end. If you don't need this generality you might find it easier
 -- to work with one of the modules that have been specialised for each of these
 -- types:
@@ -131,6 +151,35 @@
 -- * "Text.RE.PCRE.Sequence"
 -- * "Text.RE.PCRE.String"
 
--- $instances
+-- $options
+-- You can specify different compilation options by appending a
+-- to the name of an [re| ... |] or [ed| ... \/\/\/ ... |] quasi quoter
+-- to select the corresponding compilation option. For example, the
+-- section,
 --
+--  @(?=~/ [edBlockInsensitive|foo$\/\/\/bar|])@
+--
+-- will replace a @foo@ suffix of the argument text, of any
+-- capitalisation, with a (lower case) @bar@. If you need to specify the
+-- options dynamically, use the @[re_| ... |]@ and @[red_| ... \/\/\/ ... |]@
+-- quasi quoters, which generate functions that take an 'IsOption' option
+-- (e.g., a 'SimpleReOptions' value) and yields a 'RE' or 'SearchReplace'
+-- as apropriate. For example if you have a 'SimpleReOptions' value in
+-- @sro@ then
+--
+--  @(?=~/ [ed_|foo$\/\/\/bar|] sro)@
+--
+-- will compile the @foo$@ RE according to the value of @sro@. For more
+-- on specifying RE options see "Text.RE.REOptions".
+
+-- $re
+-- The @[re|.*|]@ quasi quoters, with variants for specifing different
+-- options to the RE compiler (see "Text.RE.REOptions"), and the
+-- specialised back-end types and functions.
+
+-- $ed
+-- The @[ed|.*\/\/\/foo|]@ quasi quoters, with variants for specifing different
+-- options to the RE compiler (see "Text.RE.REOptions").
+
+-- $instances
 -- These modules merely provide the 'IsRegex' instances.
diff --git a/Text/RE/PCRE/ByteString.hs b/Text/RE/PCRE/ByteString.hs
--- a/Text/RE/PCRE/ByteString.hs
+++ b/Text/RE/PCRE/ByteString.hs
@@ -20,9 +20,6 @@
   -- * The 'SearchReplace' Operators
   , (*=~/)
   , (?=~/)
-  -- * The Classic rexex-base match Operators
-  , (=~)
-  , (=~~)
   -- * Matches
   , Matches
   , matchesSource
@@ -35,16 +32,25 @@
   , matchSource
   , matched
   , matchedText
-  -- * The 'RE' Type and Functions
+  -- * The 'RE' Type
   , RE
-  , SimpleREOptions(..)
   , reSource
+  -- * Options
+  -- $options
+  , SimpleREOptions(..)
+  -- * Compiling and Escaping REs
   , compileRegex
   , compileRegexWith
   , escape
   , escapeWith
   , escapeREString
+  -- * The Classic rexex-base Match Operators
+  , (=~)
+  , (=~~)
+  -- * The Quasi Quoters and Minor Functions
+  -- $re
   , module Text.RE.ZeInternals.PCRE
+  -- $ed
   , module Text.RE.ZeInternals.SearchReplace.PCRE.ByteString
   ) where
 
@@ -62,7 +68,8 @@
 import qualified Text.Regex.PCRE               as PCRE
 
 
--- | find all matches in text; e.g., to count the number of naturals in s:
+-- | find all the matches in the argument text; e.g., to count the number
+-- of naturals in s:
 --
 --   @countMatches $ s *=~ [re|[0-9]+|]@
 --
@@ -71,21 +78,31 @@
       -> Matches B.ByteString
 (*=~) bs rex = addCaptureNamesToMatches (reCaptureNames rex) $ match (reRegex rex) bs
 
--- | find first match in text
+-- | find the first match in the argument text; e.g., to test if there
+-- is a natural number in the input text:
+--
+--   @matched $ s ?=~ [re|[0-9]+|]@
+--
 (?=~) :: B.ByteString
       -> RE
       -> Match B.ByteString
 (?=~) bs rex = addCaptureNamesToMatch (reCaptureNames rex) $ match (reRegex rex) bs
 
--- | search and replace all occurrences; e.g., this section will yield a function to
--- convert every a YYYY-MM-DD into a DD/MM/YYYY:
+-- | search and replace all matches in the argument text; e.g., this section
+-- will convert every YYYY-MM-DD format date in its argument text into a
+-- DD\/MM\/YYYY date:
 --
---   @(*=~/ [ed|${y}([0-9]{4})-0*${m}([0-9]{2})-0*${d}([0-9]{2})///${d}/${m}/${y}|])@
+--   @(*=~\/ [ed|${y}([0-9]{4})-0*${m}([0-9]{2})-0*${d}([0-9]{2})\/\/\/${d}\/${m}\/${y}|])@
 --
 (*=~/) :: B.ByteString -> SearchReplace RE B.ByteString -> B.ByteString
 (*=~/) = flip searchReplaceAll
 
--- | search and replace the first occurrence only
+-- | search and replace the first occurrence only (if any) in the input text
+-- e.g., to prefix the first string of four hex digits in the imput text,
+-- if any, with @0x@:
+--
+--  @(?=~\/ [ed|[0-9A-Fa-f]{4}\/\/\/0x$0|])
+--
 (?=~/) :: B.ByteString -> SearchReplace RE B.ByteString -> B.ByteString
 (?=~/) = flip searchReplaceFirst
 
@@ -120,3 +137,33 @@
 
 -- $tutorial
 -- We have a regex tutorial at <http://tutorial.regex.uk>.
+
+-- $options
+-- You can specify different compilation options by appending a
+-- to the name of an [re| ... |] or [ed| ... \/\/\/ ... |] quasi quoter
+-- to select the corresponding compilation option. For example, the
+-- section,
+--
+--  @(?=~/ [edBlockInsensitive|foo$\/\/\/bar|])@
+--
+-- will replace a @foo@ suffix of the argument text, of any
+-- capitalisation, with a (lower case) @bar@. If you need to specify the
+-- options dynamically, use the @[re_| ... |]@ and @[red_| ... \/\/\/ ... |]@
+-- quasi quoters, which generate functions that take an 'IsOption' option
+-- (e.g., a 'SimpleReOptions' value) and yields a 'RE' or 'SearchReplace'
+-- as apropriate. For example if you have a 'SimpleReOptions' value in
+-- @sro@ then
+--
+--  @(?=~/ [ed_|foo$\/\/\/bar|] sro)@
+--
+-- will compile the @foo$@ RE according to the value of @sro@. For more
+-- on specifying RE options see "Text.RE.REOptions".
+
+-- $re
+-- The @[re|.*|]@ quasi quoters, with variants for specifing different
+-- options to the RE compiler (see "Text.RE.REOptions"), and the
+-- specialised back-end types and functions.
+
+-- $ed
+-- The @[ed|.*\/\/\/foo|]@ quasi quoters, with variants for specifing different
+-- options to the RE compiler (see "Text.RE.REOptions").
diff --git a/Text/RE/PCRE/ByteString/Lazy.hs b/Text/RE/PCRE/ByteString/Lazy.hs
--- a/Text/RE/PCRE/ByteString/Lazy.hs
+++ b/Text/RE/PCRE/ByteString/Lazy.hs
@@ -20,9 +20,6 @@
   -- * The 'SearchReplace' Operators
   , (*=~/)
   , (?=~/)
-  -- * The Classic rexex-base match Operators
-  , (=~)
-  , (=~~)
   -- * Matches
   , Matches
   , matchesSource
@@ -35,16 +32,25 @@
   , matchSource
   , matched
   , matchedText
-  -- * The 'RE' Type and Functions
+  -- * The 'RE' Type
   , RE
-  , SimpleREOptions(..)
   , reSource
+  -- * Options
+  -- $options
+  , SimpleREOptions(..)
+  -- * Compiling and Escaping REs
   , compileRegex
   , compileRegexWith
   , escape
   , escapeWith
   , escapeREString
+  -- * The Classic rexex-base Match Operators
+  , (=~)
+  , (=~~)
+  -- * The Quasi Quoters and Minor Functions
+  -- $re
   , module Text.RE.ZeInternals.PCRE
+  -- $ed
   , module Text.RE.ZeInternals.SearchReplace.PCRE.ByteString.Lazy
   ) where
 
@@ -62,7 +68,8 @@
 import qualified Text.Regex.PCRE               as PCRE
 
 
--- | find all matches in text; e.g., to count the number of naturals in s:
+-- | find all the matches in the argument text; e.g., to count the number
+-- of naturals in s:
 --
 --   @countMatches $ s *=~ [re|[0-9]+|]@
 --
@@ -71,21 +78,31 @@
       -> Matches LBS.ByteString
 (*=~) bs rex = addCaptureNamesToMatches (reCaptureNames rex) $ match (reRegex rex) bs
 
--- | find first match in text
+-- | find the first match in the argument text; e.g., to test if there
+-- is a natural number in the input text:
+--
+--   @matched $ s ?=~ [re|[0-9]+|]@
+--
 (?=~) :: LBS.ByteString
       -> RE
       -> Match LBS.ByteString
 (?=~) bs rex = addCaptureNamesToMatch (reCaptureNames rex) $ match (reRegex rex) bs
 
--- | search and replace all occurrences; e.g., this section will yield a function to
--- convert every a YYYY-MM-DD into a DD/MM/YYYY:
+-- | search and replace all matches in the argument text; e.g., this section
+-- will convert every YYYY-MM-DD format date in its argument text into a
+-- DD\/MM\/YYYY date:
 --
---   @(*=~/ [ed|${y}([0-9]{4})-0*${m}([0-9]{2})-0*${d}([0-9]{2})///${d}/${m}/${y}|])@
+--   @(*=~\/ [ed|${y}([0-9]{4})-0*${m}([0-9]{2})-0*${d}([0-9]{2})\/\/\/${d}\/${m}\/${y}|])@
 --
 (*=~/) :: LBS.ByteString -> SearchReplace RE LBS.ByteString -> LBS.ByteString
 (*=~/) = flip searchReplaceAll
 
--- | search and replace the first occurrence only
+-- | search and replace the first occurrence only (if any) in the input text
+-- e.g., to prefix the first string of four hex digits in the imput text,
+-- if any, with @0x@:
+--
+--  @(?=~\/ [ed|[0-9A-Fa-f]{4}\/\/\/0x$0|])
+--
 (?=~/) :: LBS.ByteString -> SearchReplace RE LBS.ByteString -> LBS.ByteString
 (?=~/) = flip searchReplaceFirst
 
@@ -120,3 +137,33 @@
 
 -- $tutorial
 -- We have a regex tutorial at <http://tutorial.regex.uk>.
+
+-- $options
+-- You can specify different compilation options by appending a
+-- to the name of an [re| ... |] or [ed| ... \/\/\/ ... |] quasi quoter
+-- to select the corresponding compilation option. For example, the
+-- section,
+--
+--  @(?=~/ [edBlockInsensitive|foo$\/\/\/bar|])@
+--
+-- will replace a @foo@ suffix of the argument text, of any
+-- capitalisation, with a (lower case) @bar@. If you need to specify the
+-- options dynamically, use the @[re_| ... |]@ and @[red_| ... \/\/\/ ... |]@
+-- quasi quoters, which generate functions that take an 'IsOption' option
+-- (e.g., a 'SimpleReOptions' value) and yields a 'RE' or 'SearchReplace'
+-- as apropriate. For example if you have a 'SimpleReOptions' value in
+-- @sro@ then
+--
+--  @(?=~/ [ed_|foo$\/\/\/bar|] sro)@
+--
+-- will compile the @foo$@ RE according to the value of @sro@. For more
+-- on specifying RE options see "Text.RE.REOptions".
+
+-- $re
+-- The @[re|.*|]@ quasi quoters, with variants for specifing different
+-- options to the RE compiler (see "Text.RE.REOptions"), and the
+-- specialised back-end types and functions.
+
+-- $ed
+-- The @[ed|.*\/\/\/foo|]@ quasi quoters, with variants for specifing different
+-- options to the RE compiler (see "Text.RE.REOptions").
diff --git a/Text/RE/PCRE/Sequence.hs b/Text/RE/PCRE/Sequence.hs
--- a/Text/RE/PCRE/Sequence.hs
+++ b/Text/RE/PCRE/Sequence.hs
@@ -20,9 +20,6 @@
   -- * The 'SearchReplace' Operators
   , (*=~/)
   , (?=~/)
-  -- * The Classic rexex-base match Operators
-  , (=~)
-  , (=~~)
   -- * Matches
   , Matches
   , matchesSource
@@ -35,16 +32,25 @@
   , matchSource
   , matched
   , matchedText
-  -- * The 'RE' Type and Functions
+  -- * The 'RE' Type
   , RE
-  , SimpleREOptions(..)
   , reSource
+  -- * Options
+  -- $options
+  , SimpleREOptions(..)
+  -- * Compiling and Escaping REs
   , compileRegex
   , compileRegexWith
   , escape
   , escapeWith
   , escapeREString
+  -- * The Classic rexex-base Match Operators
+  , (=~)
+  , (=~~)
+  -- * The Quasi Quoters and Minor Functions
+  -- $re
   , module Text.RE.ZeInternals.PCRE
+  -- $ed
   , module Text.RE.ZeInternals.SearchReplace.PCRE.Sequence
   ) where
 
@@ -62,7 +68,8 @@
 import qualified Text.Regex.PCRE               as PCRE
 
 
--- | find all matches in text; e.g., to count the number of naturals in s:
+-- | find all the matches in the argument text; e.g., to count the number
+-- of naturals in s:
 --
 --   @countMatches $ s *=~ [re|[0-9]+|]@
 --
@@ -71,21 +78,31 @@
       -> Matches (S.Seq Char)
 (*=~) bs rex = addCaptureNamesToMatches (reCaptureNames rex) $ match (reRegex rex) bs
 
--- | find first match in text
+-- | find the first match in the argument text; e.g., to test if there
+-- is a natural number in the input text:
+--
+--   @matched $ s ?=~ [re|[0-9]+|]@
+--
 (?=~) :: (S.Seq Char)
       -> RE
       -> Match (S.Seq Char)
 (?=~) bs rex = addCaptureNamesToMatch (reCaptureNames rex) $ match (reRegex rex) bs
 
--- | search and replace all occurrences; e.g., this section will yield a function to
--- convert every a YYYY-MM-DD into a DD/MM/YYYY:
+-- | search and replace all matches in the argument text; e.g., this section
+-- will convert every YYYY-MM-DD format date in its argument text into a
+-- DD\/MM\/YYYY date:
 --
---   @(*=~/ [ed|${y}([0-9]{4})-0*${m}([0-9]{2})-0*${d}([0-9]{2})///${d}/${m}/${y}|])@
+--   @(*=~\/ [ed|${y}([0-9]{4})-0*${m}([0-9]{2})-0*${d}([0-9]{2})\/\/\/${d}\/${m}\/${y}|])@
 --
 (*=~/) :: (S.Seq Char) -> SearchReplace RE (S.Seq Char) -> (S.Seq Char)
 (*=~/) = flip searchReplaceAll
 
--- | search and replace the first occurrence only
+-- | search and replace the first occurrence only (if any) in the input text
+-- e.g., to prefix the first string of four hex digits in the imput text,
+-- if any, with @0x@:
+--
+--  @(?=~\/ [ed|[0-9A-Fa-f]{4}\/\/\/0x$0|])
+--
 (?=~/) :: (S.Seq Char) -> SearchReplace RE (S.Seq Char) -> (S.Seq Char)
 (?=~/) = flip searchReplaceFirst
 
@@ -120,3 +137,33 @@
 
 -- $tutorial
 -- We have a regex tutorial at <http://tutorial.regex.uk>.
+
+-- $options
+-- You can specify different compilation options by appending a
+-- to the name of an [re| ... |] or [ed| ... \/\/\/ ... |] quasi quoter
+-- to select the corresponding compilation option. For example, the
+-- section,
+--
+--  @(?=~/ [edBlockInsensitive|foo$\/\/\/bar|])@
+--
+-- will replace a @foo@ suffix of the argument text, of any
+-- capitalisation, with a (lower case) @bar@. If you need to specify the
+-- options dynamically, use the @[re_| ... |]@ and @[red_| ... \/\/\/ ... |]@
+-- quasi quoters, which generate functions that take an 'IsOption' option
+-- (e.g., a 'SimpleReOptions' value) and yields a 'RE' or 'SearchReplace'
+-- as apropriate. For example if you have a 'SimpleReOptions' value in
+-- @sro@ then
+--
+--  @(?=~/ [ed_|foo$\/\/\/bar|] sro)@
+--
+-- will compile the @foo$@ RE according to the value of @sro@. For more
+-- on specifying RE options see "Text.RE.REOptions".
+
+-- $re
+-- The @[re|.*|]@ quasi quoters, with variants for specifing different
+-- options to the RE compiler (see "Text.RE.REOptions"), and the
+-- specialised back-end types and functions.
+
+-- $ed
+-- The @[ed|.*\/\/\/foo|]@ quasi quoters, with variants for specifing different
+-- options to the RE compiler (see "Text.RE.REOptions").
diff --git a/Text/RE/PCRE/String.hs b/Text/RE/PCRE/String.hs
--- a/Text/RE/PCRE/String.hs
+++ b/Text/RE/PCRE/String.hs
@@ -20,9 +20,6 @@
   -- * The 'SearchReplace' Operators
   , (*=~/)
   , (?=~/)
-  -- * The Classic rexex-base match Operators
-  , (=~)
-  , (=~~)
   -- * Matches
   , Matches
   , matchesSource
@@ -35,16 +32,25 @@
   , matchSource
   , matched
   , matchedText
-  -- * The 'RE' Type and Functions
+  -- * The 'RE' Type
   , RE
-  , SimpleREOptions(..)
   , reSource
+  -- * Options
+  -- $options
+  , SimpleREOptions(..)
+  -- * Compiling and Escaping REs
   , compileRegex
   , compileRegexWith
   , escape
   , escapeWith
   , escapeREString
+  -- * The Classic rexex-base Match Operators
+  , (=~)
+  , (=~~)
+  -- * The Quasi Quoters and Minor Functions
+  -- $re
   , module Text.RE.ZeInternals.PCRE
+  -- $ed
   , module Text.RE.ZeInternals.SearchReplace.PCRE.String
   ) where
 
@@ -62,7 +68,8 @@
 import qualified Text.Regex.PCRE               as PCRE
 
 
--- | find all matches in text; e.g., to count the number of naturals in s:
+-- | find all the matches in the argument text; e.g., to count the number
+-- of naturals in s:
 --
 --   @countMatches $ s *=~ [re|[0-9]+|]@
 --
@@ -71,21 +78,31 @@
       -> Matches String
 (*=~) bs rex = addCaptureNamesToMatches (reCaptureNames rex) $ match (reRegex rex) bs
 
--- | find first match in text
+-- | find the first match in the argument text; e.g., to test if there
+-- is a natural number in the input text:
+--
+--   @matched $ s ?=~ [re|[0-9]+|]@
+--
 (?=~) :: String
       -> RE
       -> Match String
 (?=~) bs rex = addCaptureNamesToMatch (reCaptureNames rex) $ match (reRegex rex) bs
 
--- | search and replace all occurrences; e.g., this section will yield a function to
--- convert every a YYYY-MM-DD into a DD/MM/YYYY:
+-- | search and replace all matches in the argument text; e.g., this section
+-- will convert every YYYY-MM-DD format date in its argument text into a
+-- DD\/MM\/YYYY date:
 --
---   @(*=~/ [ed|${y}([0-9]{4})-0*${m}([0-9]{2})-0*${d}([0-9]{2})///${d}/${m}/${y}|])@
+--   @(*=~\/ [ed|${y}([0-9]{4})-0*${m}([0-9]{2})-0*${d}([0-9]{2})\/\/\/${d}\/${m}\/${y}|])@
 --
 (*=~/) :: String -> SearchReplace RE String -> String
 (*=~/) = flip searchReplaceAll
 
--- | search and replace the first occurrence only
+-- | search and replace the first occurrence only (if any) in the input text
+-- e.g., to prefix the first string of four hex digits in the imput text,
+-- if any, with @0x@:
+--
+--  @(?=~\/ [ed|[0-9A-Fa-f]{4}\/\/\/0x$0|])
+--
 (?=~/) :: String -> SearchReplace RE String -> String
 (?=~/) = flip searchReplaceFirst
 
@@ -120,3 +137,33 @@
 
 -- $tutorial
 -- We have a regex tutorial at <http://tutorial.regex.uk>.
+
+-- $options
+-- You can specify different compilation options by appending a
+-- to the name of an [re| ... |] or [ed| ... \/\/\/ ... |] quasi quoter
+-- to select the corresponding compilation option. For example, the
+-- section,
+--
+--  @(?=~/ [edBlockInsensitive|foo$\/\/\/bar|])@
+--
+-- will replace a @foo@ suffix of the argument text, of any
+-- capitalisation, with a (lower case) @bar@. If you need to specify the
+-- options dynamically, use the @[re_| ... |]@ and @[red_| ... \/\/\/ ... |]@
+-- quasi quoters, which generate functions that take an 'IsOption' option
+-- (e.g., a 'SimpleReOptions' value) and yields a 'RE' or 'SearchReplace'
+-- as apropriate. For example if you have a 'SimpleReOptions' value in
+-- @sro@ then
+--
+--  @(?=~/ [ed_|foo$\/\/\/bar|] sro)@
+--
+-- will compile the @foo$@ RE according to the value of @sro@. For more
+-- on specifying RE options see "Text.RE.REOptions".
+
+-- $re
+-- The @[re|.*|]@ quasi quoters, with variants for specifing different
+-- options to the RE compiler (see "Text.RE.REOptions"), and the
+-- specialised back-end types and functions.
+
+-- $ed
+-- The @[ed|.*\/\/\/foo|]@ quasi quoters, with variants for specifing different
+-- options to the RE compiler (see "Text.RE.REOptions").
diff --git a/Text/RE/ZeInternals/PCRE.hs b/Text/RE/ZeInternals/PCRE.hs
--- a/Text/RE/ZeInternals/PCRE.hs
+++ b/Text/RE/ZeInternals/PCRE.hs
@@ -183,7 +183,7 @@
 -- | compile a 'String' into a 'RE' with the default options,
 -- generating an error if the RE is not well formed
 compileRegex :: (Functor m,Monad m) => String -> m RE
-compileRegex = compileRegexWithOptions ()
+compileRegex = compileRegexWith minBound
 
 -- | compile a 'String' into a 'RE' using the given @SimpleREOptions@,
 -- generating an error if the RE is not well formed
@@ -207,7 +207,7 @@
 ------------------------------------------------------------------------
 
 -- | compile a SearchReplace template generating errors if the RE or
--- the template are not well formed -- all capture references being checked
+-- the template are not well formed, all capture references being checked
 compileSearchReplace :: (Monad m,Functor m,IsRegex RE s)
                      => String
                      -> String
@@ -215,7 +215,7 @@
 compileSearchReplace = compileSearchReplaceWith minBound
 
 -- | compile a SearchReplace template, with simple options, generating
--- errors if the RE or the template are not well formed -- all capture
+-- errors if the RE or the template are not well formed, all capture
 -- references being checked
 compileSearchReplaceWith :: (Monad m,Functor m,IsRegex RE s)
                          => SimpleREOptions
@@ -225,7 +225,7 @@
 compileSearchReplaceWith sro = compileSearchAndReplace_ packR $ compileRegexWith sro
 
 -- | compile a SearchReplace template, with general options, generating
--- errors if the RE or the template are not well formed -- all capture
+-- errors if the RE or the template are not well formed, all capture
 -- references being checked
 compileSearchReplaceWithREOptions :: (Monad m,Functor m,IsRegex RE s)
                                   => REOptions
@@ -241,16 +241,17 @@
 
 -- | convert a string into a RE that matches that string, and apply it
 -- to an argument continuation function to make up the RE string to be
--- compiled
+-- compiled; e.g., to compile a RE that will only match the string:
+--
+--  @maybe undefined id . escape ((\"^\"++) . (++\"$\"))@
+--
 escape :: (Functor m,Monad m)
        => (String->String)
        -> String
        -> m RE
 escape = escapeWith minBound
 
--- | convert a string into a RE that matches that string, and apply it
--- to an argument continuation function to make up the RE string to be
--- compiled with the default options
+-- | a variant of 'escape' where the 'SimpleREOptions' are specified
 escapeWith :: (Functor m,Monad m)
            => SimpleREOptions
            -> (String->String)
@@ -258,12 +259,11 @@
            -> m RE
 escapeWith = escapeWithOptions
 
--- | convert a string into a RE that matches that string, and apply it
--- to an argument continuation function to make up the RE string to be
--- compiled the given options
+-- | a variant of 'escapeWith' that allows an 'IsOption' RE option
+-- to be specified
 escapeWithOptions :: ( IsOption o RE CompOption ExecOption
                      , Functor m
-                     , Monad m
+                     , Monad   m
                      )
                   => o
                   -> (String->String)
diff --git a/Text/RE/ZeInternals/QQ.hs b/Text/RE/ZeInternals/QQ.hs
deleted file mode 100644
--- a/Text/RE/ZeInternals/QQ.hs
+++ /dev/null
@@ -1,29 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable         #-}
-
-module Text.RE.ZeInternals.QQ where
-
-import           Control.Exception
-import           Data.Typeable
-import           Language.Haskell.TH.Quote
-
-
--- | used to throw an exception reporting an abuse of a quasi quoter
-data QQFailure =
-  QQFailure
-    { _qqf_context   :: String  -- ^ in what context was the quasi quoter used
-    , _qqf_component :: String  -- ^ how was the quasi quoter being abused
-    }
-  deriving (Show,Typeable)
-
-instance Exception QQFailure where
-
--- | a quasi quoter that can be used in no context (to be extended with
--- the appropriate quasi quoter parser)
-qq0 :: String -> QuasiQuoter
-qq0 ctx =
-  QuasiQuoter
-    { quoteExp  = const $ throw $ QQFailure ctx "expression"
-    , quotePat  = const $ throw $ QQFailure ctx "pattern"
-    , quoteType = const $ throw $ QQFailure ctx "type"
-    , quoteDec  = const $ throw $ QQFailure ctx "declaration"
-    }
diff --git a/Text/RE/ZeInternals/SearchReplace/PCRE/ByteString.hs b/Text/RE/ZeInternals/SearchReplace/PCRE/ByteString.hs
--- a/Text/RE/ZeInternals/SearchReplace/PCRE/ByteString.hs
+++ b/Text/RE/ZeInternals/SearchReplace/PCRE/ByteString.hs
@@ -7,7 +7,9 @@
 #endif
 
 module Text.RE.ZeInternals.SearchReplace.PCRE.ByteString
-  ( ed
+  ( -- * The ed Quasi Quoters
+    -- $qq
+    ed
   , edMS
   , edMI
   , edBS
@@ -28,7 +30,6 @@
 import           Text.RE.ZeInternals.Types.SearchReplace
 
 
--- | the @[ed| ... /// ... |]@ quasi quoters
 ed
   , edMS
   , edMI
@@ -56,3 +57,15 @@
 
 fn_cast :: Q Exp
 fn_cast = [|\x -> x :: SimpleREOptions -> SearchReplace RE B.ByteString|]
+
+-- $qq
+-- The -- | the @[ed| ... \/\/\/ ... |]@ quasi quoters; for exaple,
+--
+--  @[ed|${y}([0-9]{4})-0*${m}([0-9]{2})-0*${d}([0-9]{2})\/\/\/${d}\/${m}\/${y}|])@
+--
+-- represents a @SearchReplace@ that will convert a YYYY-MM-DD format date
+-- into a DD\/MM\/YYYY format date.
+--
+-- The only difference betweem these quasi quoters is the RE options that are set:
+-- see the "Text.RE.REOptions" documentation for details.
+--
diff --git a/Text/RE/ZeInternals/SearchReplace/PCRE/ByteString/Lazy.hs b/Text/RE/ZeInternals/SearchReplace/PCRE/ByteString/Lazy.hs
--- a/Text/RE/ZeInternals/SearchReplace/PCRE/ByteString/Lazy.hs
+++ b/Text/RE/ZeInternals/SearchReplace/PCRE/ByteString/Lazy.hs
@@ -7,7 +7,9 @@
 #endif
 
 module Text.RE.ZeInternals.SearchReplace.PCRE.ByteString.Lazy
-  ( ed
+  ( -- * The ed Quasi Quoters
+    -- $qq
+    ed
   , edMS
   , edMI
   , edBS
@@ -28,7 +30,6 @@
 import           Text.RE.ZeInternals.Types.SearchReplace
 
 
--- | the @[ed| ... /// ... |]@ quasi quoters
 ed
   , edMS
   , edMI
@@ -56,3 +57,15 @@
 
 fn_cast :: Q Exp
 fn_cast = [|\x -> x :: SimpleREOptions -> SearchReplace RE LBS.ByteString|]
+
+-- $qq
+-- The -- | the @[ed| ... \/\/\/ ... |]@ quasi quoters; for exaple,
+--
+--  @[ed|${y}([0-9]{4})-0*${m}([0-9]{2})-0*${d}([0-9]{2})\/\/\/${d}\/${m}\/${y}|])@
+--
+-- represents a @SearchReplace@ that will convert a YYYY-MM-DD format date
+-- into a DD\/MM\/YYYY format date.
+--
+-- The only difference betweem these quasi quoters is the RE options that are set:
+-- see the "Text.RE.REOptions" documentation for details.
+--
diff --git a/Text/RE/ZeInternals/SearchReplace/PCRE/Sequence.hs b/Text/RE/ZeInternals/SearchReplace/PCRE/Sequence.hs
--- a/Text/RE/ZeInternals/SearchReplace/PCRE/Sequence.hs
+++ b/Text/RE/ZeInternals/SearchReplace/PCRE/Sequence.hs
@@ -7,7 +7,9 @@
 #endif
 
 module Text.RE.ZeInternals.SearchReplace.PCRE.Sequence
-  ( ed
+  ( -- * The ed Quasi Quoters
+    -- $qq
+    ed
   , edMS
   , edMI
   , edBS
@@ -28,7 +30,6 @@
 import           Text.RE.ZeInternals.Types.SearchReplace
 
 
--- | the @[ed| ... /// ... |]@ quasi quoters
 ed
   , edMS
   , edMI
@@ -56,3 +57,15 @@
 
 fn_cast :: Q Exp
 fn_cast = [|\x -> x :: SimpleREOptions -> SearchReplace RE (S.Seq Char)|]
+
+-- $qq
+-- The -- | the @[ed| ... \/\/\/ ... |]@ quasi quoters; for exaple,
+--
+--  @[ed|${y}([0-9]{4})-0*${m}([0-9]{2})-0*${d}([0-9]{2})\/\/\/${d}\/${m}\/${y}|])@
+--
+-- represents a @SearchReplace@ that will convert a YYYY-MM-DD format date
+-- into a DD\/MM\/YYYY format date.
+--
+-- The only difference betweem these quasi quoters is the RE options that are set:
+-- see the "Text.RE.REOptions" documentation for details.
+--
diff --git a/Text/RE/ZeInternals/SearchReplace/PCRE/String.hs b/Text/RE/ZeInternals/SearchReplace/PCRE/String.hs
--- a/Text/RE/ZeInternals/SearchReplace/PCRE/String.hs
+++ b/Text/RE/ZeInternals/SearchReplace/PCRE/String.hs
@@ -7,7 +7,9 @@
 #endif
 
 module Text.RE.ZeInternals.SearchReplace.PCRE.String
-  ( ed
+  ( -- * The ed Quasi Quoters
+    -- $qq
+    ed
   , edMS
   , edMI
   , edBS
@@ -28,7 +30,6 @@
 import           Text.RE.ZeInternals.Types.SearchReplace
 
 
--- | the @[ed| ... /// ... |]@ quasi quoters
 ed
   , edMS
   , edMI
@@ -56,3 +57,15 @@
 
 fn_cast :: Q Exp
 fn_cast = [|\x -> x :: SimpleREOptions -> SearchReplace RE String|]
+
+-- $qq
+-- The -- | the @[ed| ... \/\/\/ ... |]@ quasi quoters; for exaple,
+--
+--  @[ed|${y}([0-9]{4})-0*${m}([0-9]{2})-0*${d}([0-9]{2})\/\/\/${d}\/${m}\/${y}|])@
+--
+-- represents a @SearchReplace@ that will convert a YYYY-MM-DD format date
+-- into a DD\/MM\/YYYY format date.
+--
+-- The only difference betweem these quasi quoters is the RE options that are set:
+-- see the "Text.RE.REOptions" documentation for details.
+--
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,5 +1,8 @@
 -*-change-log-*-
 
+0.11.1.0 Chris Dornan <chris.dornan@irisconnect.co.uk> 2017-03-30
+  * Cannot hide Text.RE.ZeInternals.SearchReaplace modules (#101)
+
 0.11.0.0 Chris Dornan <chris.dornan@irisconnect.co.uk> 2017-03-29
   * Simplify API (#97)
   * Rename Location to RELocation (#98)
diff --git a/regex-with-pcre.cabal b/regex-with-pcre.cabal
--- a/regex-with-pcre.cabal
+++ b/regex-with-pcre.cabal
@@ -1,12 +1,13 @@
 Name:                   regex-with-pcre
-Version:                0.11.0.0
+Version:                0.11.1.0
 Synopsis:               Toolkit for regex-base
-Description:            A Regular Expression Toolkit for regex-base with
-                        Compile-time checking of RE syntax, data types for
+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 and test bench, a tutorial and copious examples.
+                        macros with parsers and test bench, omprehensive
+                        documentation, tutorials and copious examples.
 Homepage:               http://regex.uk
 Author:                 Chris Dornan
 License:                BSD3
@@ -15,7 +16,7 @@
 Copyright:              Chris Dornan 2016-2017
 Category:               Text
 Build-type:             Simple
-Stability:              RFC
+Stability:              Stable
 bug-reports:            http://issues.regex.uk
 
 Extra-Source-Files:
@@ -31,7 +32,7 @@
 Source-Repository this
     Type:               git
     Location:           https://github.com/iconnect/regex.git
-    Tag:                0.11.0.0
+    Tag:                0.11.1.0
 
 
 
@@ -42,12 +43,9 @@
       Text.RE.PCRE
       Text.RE.PCRE.ByteString
       Text.RE.PCRE.ByteString.Lazy
-      Text.RE.ZeInternals.PCRE
       Text.RE.PCRE.Sequence
       Text.RE.PCRE.String
-
-    Other-Modules:
-      Text.RE.ZeInternals.QQ
+      Text.RE.ZeInternals.PCRE
       Text.RE.ZeInternals.SearchReplace
       Text.RE.ZeInternals.SearchReplace.PCRE
       Text.RE.ZeInternals.SearchReplace.PCRE.ByteString
@@ -89,7 +87,7 @@
       -Wwarn
 
     Build-depends:
-        regex                == 0.11.0.0
+        regex                == 0.11.1.0
       , base                 >= 4 && < 5
       , base-compat          >= 0.6.0
       , bytestring           >= 0.10.2.0
