diff --git a/hxt.cabal b/hxt.cabal
--- a/hxt.cabal
+++ b/hxt.cabal
@@ -1,6 +1,6 @@
 -- arch-tag: Haskell XML Toolbox main description file
 Name:           hxt
-Version:        9.3.1.11
+Version:        9.3.1.12
 Synopsis:       A collection of tools for processing XML with Haskell.
 Description:    The Haskell XML Toolbox bases on the ideas of HaXml and HXML,
                 but introduces a more general approach for processing XML with Haskell.
@@ -17,6 +17,8 @@
                 hxt-unicode contains encoding and decoding functions,
                 hxt-charproperties char properties for unicode and XML.
                 .
+                Changes from 9.3.1.11: Bug fix in haddock comments
+                .
                 Changes from 9.3.1.10: Bug in DTD validation, space and time leak in delta removed
                 .
                 Changes from 9.3.1.9: lower bound of mtl dependency lowered to 2.0.1
@@ -215,7 +217,7 @@
                 binary     >= 0.5   && < 1,
                 hxt-charproperties  >= 9.1    && < 10,
                 hxt-unicode         >= 9.0.1  && < 10,
-                hxt-regex-xmlschema >= 9      && < 10
+                hxt-regex-xmlschema >= 9.2    && < 10
 
  if flag(network-uri)
    build-depends: network-uri >= 2.6
diff --git a/src/Text/XML/HXT/DTDValidation/RE.hs b/src/Text/XML/HXT/DTDValidation/RE.hs
--- a/src/Text/XML/HXT/DTDValidation/RE.hs
+++ b/src/Text/XML/HXT/DTDValidation/RE.hs
@@ -194,14 +194,14 @@
 re_alt                                      :: (Ord a) => RE a -> RE a -> RE a
 re_alt (RE_ZERO _)      e2                  = e2
 re_alt e1               (RE_ZERO _)         = e1
-re_alt (RE_ALT e11 e12) e2                  = re_alt e11 (re_alt e12 e2)  -- | is right assoc
+re_alt (RE_ALT e11 e12) e2                  = re_alt e11 (re_alt e12 e2)  -- is right assoc
 re_alt e1               e2@(RE_ALT e21 e22)
-    | e1 == e21                             = e2            -- | simplification, the effective rule
-    | e1 >  e21                             = re_alt e21 (re_alt e1 e22)  -- | sort alt.
+    | e1 == e21                             = e2             -- duplicates removed, the effective rule
+    | e1 >  e21                             = re_alt e21 (re_alt e1 e22)  -- sort alternatives
     | otherwise                             = RE_ALT e1 e2
 re_alt e1               e2
-    | e1 == e2                              = e2             -- | simplification, the effective rule
-    | e1 >  e2                              = re_alt e2 e1   -- | sort alts for unique repr.
+    | e1 == e2                              = e2             -- simplification, the effective rule
+    | e1 >  e2                              = re_alt e2 e1   -- sort alts for unique repr.
     | otherwise                             = RE_ALT e1 e2
 
 
