diff --git a/Text/Regex/TDFA/Common.hs b/Text/Regex/TDFA/Common.hs
--- a/Text/Regex/TDFA/Common.hs
+++ b/Text/Regex/TDFA/Common.hs
@@ -7,7 +7,6 @@
 import Text.Regex.Base(RegexOptions(..))
 
 {- By Chris Kuklewicz, 2007-2009. BSD License, see the LICENSE file. -}
-import Text.Show.Functions()
 import Data.Array.IArray(Array)
 import Data.IntSet.EnumSet2(EnumSet)
 import qualified Data.IntSet.EnumSet2 as Set(toList)
@@ -160,7 +159,6 @@
 
 data WinEmpty = WinEmpty Instructions
               | WinTest WhichTest (Maybe WinEmpty) (Maybe WinEmpty)
-  deriving Show
 
 -- | Internal NFA node type
 data QNFA = QNFA {q_id :: Index, q_qt :: QT}
@@ -200,7 +198,7 @@
 type TagTasks = [(Tag,TagTask)]
 -- | When attached to a QTrans the TagTask can be done before or after
 -- accepting the character.
-data TagUpdate = PreUpdate TagTask | PostUpdate TagTask deriving (Show,Eq)
+data TagUpdate = PreUpdate TagTask | PostUpdate TagTask deriving (Eq)
 -- | Ordered list of tags and their associated update operation.
 type TagList = [(Tag,TagUpdate)]
 -- | A TagList and the location of the item in the original pattern
@@ -212,7 +210,7 @@
 
 -- | Internal DFA node, identified by the Set of indices of the QNFA
 -- nodes it represents.
-data DFA = DFA { d_id :: SetIndex, d_dt :: DT } deriving(Show)
+data DFA = DFA { d_id :: SetIndex, d_dt :: DT }
 data Transition = Transition { trans_many :: DFA    -- ^ where to go (maximal), including respawning
                              , trans_single :: DFA  -- ^ where to go, not including respawning
                              , trans_how :: DTrans    -- ^ how to go, including respawning
@@ -253,96 +251,16 @@
   , basePos :: Position
   , ordinal :: (Maybe Int)
   , getOrbits :: !(Seq Position)
-  } deriving (Show)
+  }
 
 -- | The 'newPos' and 'newFlags' lists in Instructions are sorted by, and unique in, the Tag values
 data Instructions = Instructions
   { newPos :: ![(Tag,Action)] -- False is preUpdate, True is postUpdate (there are no Orbit tags here) -- 2009 : Change to enum from bool?
   , newOrbits :: !(Maybe (Position -> OrbitTransformer))
-  } deriving (Show)
-data Action = SetPre | SetPost | SetVal Int deriving (Show,Eq)
+  }
+data Action = SetPre | SetPost | SetVal Int deriving (Eq)
 type OrbitTransformer = OrbitLog -> OrbitLog
 type OrbitLog = IntMap Orbits
-
-instance Show QNFA where
-  show (QNFA {q_id = i, q_qt = qt}) = "QNFA {q_id = "++show i
-                                  ++"\n     ,q_qt = "++ show qt
-                                  ++"\n}"
-
-instance Show QT where
-  show = showQT
-
-showQT :: QT -> String
-showQT (Simple win trans other) = "{qt_win=" ++ show win
-                             ++ "\n, qt_trans=" ++ show (foo trans)
-                             ++ "\n, qt_other=" ++ show (foo' other) ++ "}"
-  where foo :: CharMap QTrans -> [(Char,[(Index,[TagCommand])])]
-        foo = mapSnd foo' . Map.toAscList
-        foo' :: QTrans -> [(Index,[TagCommand])]
-        foo' = IMap.toList 
-showQT (Testing test dopas a b) = "{Testing "++show test++" "++show (Set.toList dopas)
-                              ++"\n"++indent' a
-                              ++"\n"++indent' b++"}"
-    where indent' = init . unlines . map (spaces++) . lines . showQT
-          spaces = replicate 9 ' '
-
-instance Show DT where show = showDT
-
-indent :: [String] -> String
-indent = unlines . map (\x -> ' ':' ':x)
-
-showDT :: DT -> String
-showDT (Simple' w t o) =
-       "Simple' { dt_win = " ++ seeWin1
-  ++ "\n        , dt_trans = " ++ seeTrans1
-  ++ "\n        , dt_other = " ++ seeOther1 o
-  ++ "\n        }"
- where
-  seeWin1 | IMap.null w = "No win"
-          | otherwise = indent . map show . IMap.assocs $ w
-
-  seeTrans1 :: String
-  seeTrans1 | Map.null t = "No (Char,Transition)"
-            | otherwise = ('\n':) . indent $
-     map (\(char,Transition {trans_many=dfa,trans_single=dfa2,trans_how=dtrans}) ->
-                           concat ["("
-                                  ,show char
-                                  ,", MANY "
-                                  ,show (d_id dfa)
-                                  ,", SINGLE "
-                                  ,show (d_id dfa2)
-                                  ,", \n"
-                                  ,seeDTrans dtrans
-                                  ,")"]) (Map.assocs t)
-
-  seeOther1 (Transition {trans_many=dfa,trans_single=dfa2,trans_how=dtrans}) =
-    concat ["(MANY "
-           ,show (d_id dfa)
-           ,", SINGLE "
-           ,show (d_id dfa2)
-           ,", \n"
-           ,seeDTrans dtrans
-           ,")"]
-
-showDT (Testing' wt d a b) = "Testing' { dt_test = " ++ show wt
-                          ++ "\n         , dt_dopas = " ++ show d
-                          ++ "\n         , dt_a = " ++ indent' a
-                          ++ "\n         , dt_b = " ++ indent' b
-                          ++ "\n         }"
- where indent' = init . unlines . (\s -> case s of
-                                           [] -> []
-                                           (h:t) -> h : (map (spaces ++) t)) . lines . showDT
-       spaces = replicate 10 ' '
-
-
-seeDTrans :: DTrans -> String
---seeDTrans x = concatMap (\(dest,y) -> unlines . map (\(source,ins) -> show (dest,source,ins) ) . IMap.assocs $ y) (IMap.assocs x)
-seeDTrans x | IMap.null x = "No DTrans"
-seeDTrans x = concatMap seeSource (IMap.assocs x)
-  where seeSource (dest,srcMap) | IMap.null srcMap = indent [show (dest,"SPAWN")]
-                                | otherwise = indent . map (\(source,ins) -> show (dest,source,ins) ) . IMap.assocs $ srcMap
---        spawnIns = Instructions { newPos = [(0,SetPost)], newOrbits = Nothing }
-
 
 instance Eq QT where
   t1@(Testing {}) == t2@(Testing {}) =
diff --git a/Text/Regex/TDFA/CorePattern.hs b/Text/Regex/TDFA/CorePattern.hs
--- a/Text/Regex/TDFA/CorePattern.hs
+++ b/Text/Regex/TDFA/CorePattern.hs
@@ -66,7 +66,7 @@
        | Test TestInfo               -- Require the test to be true (merge with empty as (Test (Maybe TestInfo)) ??)
        | OneChar Pattern             -- Bring the Pattern element that accepts a character
        | NonEmpty Q                  -- Don't let the Q pattern match nothing
-         deriving (Show,Eq)
+         deriving (Eq)
 
 -- The diagnostics about the pattern.  Note that when unQ is 'Seq' the
 -- the preTag and postTag are Nothing but the preReset might have tags
@@ -115,24 +115,6 @@
 -- In practice WantsBoth is treated identically to WantsQNFA and
 -- WantsBoth could be removed.
 data Wanted = WantsQNFA | WantsQT | WantsBoth | WantsEither deriving (Eq,Show)
-
-instance Show Q where
-  show = showQ
-
-showQ :: Q -> String
-showQ q = "Q { nullQ = "++show (nullQ q)++
-        "\n  , takes = "++show (takes q)++
-        "\n  , preReset = "++show (preReset q)++
-        "\n  , postSet = "++show (postSet q)++
-        "\n  , preTag = "++show (preTag q)++
-        "\n  , postTag = "++show (postTag q)++
-        "\n  , tagged = "++show (tagged q)++
-        "\n  , wants = "++show (wants q)++
-        "\n  , unQ = "++ indent' (unQ q)++" }"
-   where indent' = unlines . (\s -> case s of
-                                      [] -> []
-                                      (h:t) -> h : (map (spaces ++) t)) . lines . show
-         spaces = replicate 10 ' '
 
 -- Smart constructors for NullView
 notNull :: NullView
diff --git a/Text/Regex/TDFA/NewDFA/Engine.hs b/Text/Regex/TDFA/NewDFA/Engine.hs
--- a/Text/Regex/TDFA/NewDFA/Engine.hs
+++ b/Text/Regex/TDFA/NewDFA/Engine.hs
@@ -544,7 +544,7 @@
     (SetPre,SetPost) -> LT
     (SetPost,SetPre) -> GT
     (SetVal v1,SetVal v2) -> compare v1 v2
-    _ -> err $ "bestTrans.compareWith.choose sees incomparable "++show (post1,post2)
+    _ -> err $ "bestTrans.compareWith.choose sees incomparable"
 
 ditzyComp'3 :: forall s. Array Tag OP -> C s
 ditzyComp'3 aTagOP = comp0 where
@@ -618,11 +618,7 @@
                  comparePos (viewl (getOrbits o1)) (viewl (getOrbits o2)) of
               EQ -> next comps preTag x1 np1 x2 np2
               answer -> return answer
-         _ -> err $ unlines [ "challenge_Orb is too stupid to handle mismatched orbit data :"
-                           , show(tag,preTag,np1,np2)
-                           , show s1
-                           , show s2
-                           ]
+         _ -> err $ "challenge_Orb is too stupid to handle mismatched orbit data\n"
   challenge_Orb _ [] _ _ _ _ _ = err "impossible 0298347"
 
 comparePos :: (ViewL Position) -> (ViewL Position) -> Ordering
diff --git a/Text/Regex/TDFA/NewDFA/Engine_FA.hs b/Text/Regex/TDFA/NewDFA/Engine_FA.hs
--- a/Text/Regex/TDFA/NewDFA/Engine_FA.hs
+++ b/Text/Regex/TDFA/NewDFA/Engine_FA.hs
@@ -403,7 +403,7 @@
     (SetPre,SetPost) -> LT
     (SetPost,SetPre) -> GT
     (SetVal v1,SetVal v2) -> compare v1 v2
-    _ -> err $ "bestTrans.compareWith.choose sees incomparable "++show (post1,post2)
+    _ -> err $ "bestTrans.compareWith.choose sees incomparable"
 
 ditzyComp'3 :: forall s. Array Tag OP -> C s
 ditzyComp'3 aTagOP = comp0 where
@@ -477,11 +477,7 @@
                  comparePos (viewl (getOrbits o1)) (viewl (getOrbits o2)) of
               EQ -> next comps preTag x1 np1 x2 np2
               answer -> return answer
-         _ -> err $ unlines [ "challenge_Orb is too stupid to handle mismatched orbit data :"
-                           , show(tag,preTag,np1,np2)
-                           , show s1
-                           , show s2
-                           ]
+         _ -> err $ "challenge_Orb is too stupid to handle mismatched orbit data\n"
   challenge_Orb _ [] _ _ _ _ _ = err "impossible 0298347"
 
 comparePos :: (ViewL Position) -> (ViewL Position) -> Ordering
diff --git a/Text/Regex/TDFA/TDFA.hs b/Text/Regex/TDFA/TDFA.hs
--- a/Text/Regex/TDFA/TDFA.hs
+++ b/Text/Regex/TDFA/TDFA.hs
@@ -3,7 +3,7 @@
 -- of Index which are used to lookup the DFA state in a lazy Trie
 -- which holds all possible subsets of QNFA states.
 module Text.Regex.TDFA.TDFA(patternToRegex,DFA(..),DT(..)
-                            ,examineDFA,nfaToDFA,dfaMap) where
+                            ,nfaToDFA,dfaMap) where
 
 --import Control.Arrow((***))
 import Data.Monoid(Monoid(..))
@@ -19,7 +19,7 @@
 --import Data.IntSet(IntSet)
 import qualified Data.IntSet as ISet(empty,singleton,null)
 import Data.List(foldl')
-import qualified Data.Map (Map,empty,member,insert,elems)
+import qualified Data.Map (Map,empty,member,insert)
 import Data.Sequence as S((|>),{-viewl,ViewL(..)-})
 
 import Text.Regex.TDFA.Common {- all -}
@@ -172,10 +172,6 @@
 flattenDT (Simple' {dt_trans=(CharMap mt),dt_other=o}) = concatMap (\d -> [trans_many d {-,trans_single d-}]) . (:) o . IMap.elems $ mt
 flattenDT (Testing' {dt_a=a,dt_b=b}) = flattenDT a ++ flattenDT b
 
-examineDFA :: Regex -> String
-examineDFA (Regex {regex_dfa=dfa}) = unlines . (:) ("Number of reachable DFA states: "++show (length dfas)) . map show $ dfas
-  where dfas = Data.Map.elems $ dfaMap dfa
-
 {-
 
 fillMap :: Tag -> IntMap (Position,Bool)
@@ -278,7 +274,7 @@
                    (SetPre,SetPost) -> LT
                    (SetPost,SetPre) -> GT
                    (SetVal v1,SetVal v2) -> compare v1 v2
-                   _ -> err $ "bestTrans.compareWith.choose sees incomparable "++show (tag,post1,post2)
+                   _ -> err $ "bestTrans.compareWith.choose sees incomparable "
 
 
   {-# INLINE compareWith #-}
@@ -354,7 +350,7 @@
       PostUpdate TagTask -> setPostTag tag
       PostUpdate ResetGroupStopTask -> resetGroupTag tag
       PostUpdate SetGroupStopTask -> setGroupTag tag
-      _ -> err ("assemble : Weird orbit command: "++show (tag,command))
+      _ -> err ("assemble : Weird orbit command")
 
 setPreTag :: Tag -> CompileInstructions ()
 setPreTag = modifyPos SetPre
diff --git a/Text/Regex/TDFA/TNFA.hs b/Text/Regex/TDFA/TNFA.hs
--- a/Text/Regex/TDFA/TNFA.hs
+++ b/Text/Regex/TDFA/TNFA.hs
@@ -83,8 +83,7 @@
                 ,Array GroupIndex [GroupInfo])
 patternToNFA compOpt pattern =
   let (q,tags,groups) = patternToQ compOpt pattern
-      msg = unlines [ show q ]
-  in debug msg (qToNFA compOpt q,tags,groups)
+  in (qToNFA compOpt q,tags,groups)
 
 -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == 
 -- Query function on Q
@@ -168,7 +167,7 @@
 not in sti are unchanged (but the losing DoPa index might be added).
 -}
 dominate :: QT -> QT -> (SetTestInfo,WinTags) -> QT
-dominate win lose x@(SetTestInfo sti,tags) = debug ("dominate "++show x) $
+dominate win lose x@(SetTestInfo sti,tags) =
   let -- The winning states are reached through the SetTag
       win' = prependTags' tags win
       -- get the SetTestInfo 
@@ -391,12 +390,12 @@
 
 {-# INLINE addGroupResets #-}
 -- This is polymorphic so addGroupResetsAC can be cute below
-addGroupResets :: (Show a) => [Tag] -> (TagTasks,a) -> (TagTasks,a)
+addGroupResets :: [Tag] -> (TagTasks,a) -> (TagTasks,a)
 addGroupResets [] x = x
 addGroupResets tags (tags',cont) = (foldr (:) tags' . map (\tag -> (tag,ResetGroupStopTask)) $ tags
                                    ,cont)
 
-addGroupSets :: (Show a) => [Tag] -> (TagTasks,a) -> (TagTasks,a)
+addGroupSets :: [Tag] -> (TagTasks,a) -> (TagTasks,a)
 addGroupSets [] x = x
 addGroupSets tags (tags',cont) = (foldr (:) tags' . map (\tag -> (tag,SetGroupStopTask)) $ tags
                                  ,cont)
@@ -458,7 +457,7 @@
   startState = (0,id)
 
   getTrans,getTransTagless :: Q -> E -> S E
-  getTrans qIn@(Q {preReset=resets,postSet=sets,preTag=pre,postTag=post,unQ=pIn}) e = debug (">< getTrans "++show qIn++" <>") $
+  getTrans qIn@(Q {preReset=resets,postSet=sets,preTag=pre,postTag=post,unQ=pIn}) e =
     case pIn of
       -- The case below is the ultimate consumer of every single OneChar in the input and the only caller of
       -- newTrans/acceptTrans which is the sole source of QT/Simple nodes.
@@ -467,7 +466,7 @@
       Test ti -> return . addGroupResets resets . addTag pre . addTest ti . addTag post . addGroupSets sets $ e
       _ -> return . addGroupResets resets . addTag pre =<< getTransTagless qIn (addTag post . addGroupSets sets $ e)
 
-  getTransTagless qIn e = debug (">< getTransTagless "++show qIn++" <>") $
+  getTransTagless qIn e =
     case unQ qIn of
       Seq q1 q2 -> getTrans q1 =<< getTrans q2 e
       Or [] -> return e
@@ -495,7 +494,7 @@
         in if cannotAccept q then return e' else mdo
         mqt <- inStar q this
         (this,ans) <- case mqt of
-                        Nothing -> err ("Weird pattern in getTransTagless/Star: " ++ show (qTop,qIn))
+                        Nothing -> err "Weird pattern in getTransTagless/Star"
                         Just qt -> do
                           let qt' = resetOrbitsQT resetTheseOrbits . enterOrbitQT mOrbit $ qt -- resetOrbitsQT and enterOrbitQT commute
                               thisQT = mergeQT qt' . getQT . leaveOrbit mOrbit $ e -- capture of subpattern or leave via next pattern (avoid null of subpattern on way out)
@@ -509,29 +508,27 @@
                   else this)
 
       {- NonEmpty is like actNullable (Or [Empty,q]) without the extra tag to prefer the first Empty branch -}
-      NonEmpty q -> ecart ("\n> getTransTagless/NonEmpty"++show qIn)  $ do
+      NonEmpty q -> do
         -- Assertion to check than Pattern.starTrans did its job right:
-        when (cannotAccept q) (err $ "getTransTagless/NonEmpty : provided with a *cannotAccept* pattern: "++show (qTop,qIn))
-        when (mustAccept q) (err $ "getTransTagless/NonEmpty : provided with a *mustAccept* pattern: "++show (qTop,qIn))
+        when (cannotAccept q) (err $ "getTransTagless/NonEmpty : provided with a *cannotAccept* pattern: ")
+        when (mustAccept q) (err $ "getTransTagless/NonEmpty : provided with a *mustAccept* pattern: ")
         let e' = case maybeOnlyEmpty qIn of
                    Just [] -> e
                    Just _wtags -> e -- addWinTags wtags e  XXX was duplicating tags
-                   Nothing -> err $ "getTransTagless/NonEmpty is supposed to have an emptyNull nullView : "++show qIn
+                   Nothing -> err $ "getTransTagless/NonEmpty is supposed to have an emptyNull nullView : "
         mqt <- inStar q e
         return $ case mqt of
-                   Nothing -> err ("Weird pattern in getTransTagless/NonEmpty: " ++ show (qTop,qIn))
+                   Nothing -> err ("Weird pattern in getTransTagless/NonEmpty: ")
                    Just qt -> fromQT . mergeQT_2nd qt . getQT $ e' -- ...and then this sets qt_win to exactly that of e'
-      _ -> err ("This case in Text.Regex.TNFA.TNFA.getTransTagless cannot happen" ++ show (qTop,qIn))
+      _ -> err ("This case in Text.Regex.TNFA.TNFA.getTransTagless cannot happen")
 
   inStar,inStarNullableTagless :: Q -> E -> S (Maybe QT)
   inStar qIn@(Q {preReset=resets,postSet=sets,preTag=pre,postTag=post}) eLoop | notNullable qIn =
-    debug (">< inStar/1 "++show qIn++" <>") $
     return . Just . getQT =<< getTrans qIn eLoop
                                                                  | otherwise =
-    debug (">< inStar/2 "++show qIn++" <>") $
     return . fmap (prependGroupResets resets . prependPreTag pre) =<< inStarNullableTagless qIn (addTag post . addGroupSets sets $ eLoop)
     
-  inStarNullableTagless qIn eLoop = debug (">< inStarNullableTagless "++show qIn++" <>") $ do
+  inStarNullableTagless qIn eLoop = do
     case unQ qIn of
       Empty -> return Nothing -- with Or this discards () branch in "(^|foo|())*"
       Or [] -> return Nothing
@@ -553,7 +550,7 @@
       -- Calls to act are inlined by hand and are we losing the tags?
       Star {} -> do (_,meAcceptingOut,_) <- actNullableTagless qIn (eLoop,Nothing,Nothing)
                     return (fmap getQT meAcceptingOut)
-      NonEmpty {} -> ecart ("\n> inStarNullableTagless/NonEmpty"++show qIn) $
+      NonEmpty {} ->
                      do (_,meAcceptingOut,_) <- actNullableTagless qIn (eLoop,Nothing,Nothing)
                         return (fmap getQT meAcceptingOut)
       Test {} -> return Nothing -- with Or this discards ^ branch in "(^|foo|())*"
@@ -603,20 +600,20 @@
 
   act :: Q -> ActCont -> S (Maybe E)
   act qIn c | nullable qIn = fmap snd3 $ actNullable qIn c
-            | otherwise = debug (">< act "++show qIn++" <>") $ do
+            | otherwise = do
     mqt <- return . Just =<< getTrans qIn ( getE $ c )
     return mqt  -- or "return (fromQT qtlose,mqt,Nothing)"
 
   actNullable,actNullableTagless :: Q -> ActCont -> S ActCont
   actNullable qIn@(Q {preReset=resets,postSet=sets,preTag=pre,postTag=post,unQ=pIn}) ac =
-    debug (">< actNullable "++show qIn++" <>") $ do
+    do
     case pIn of
       Empty -> return . addGroupResetsAC resets . addTagAC pre . addTagAC post . addGroupSetsAC sets $ ac
       Test ti -> return . addGroupResetsAC resets . addTagAC pre . addTestAC ti . addTagAC post . addGroupSetsAC sets $ ac
       OneChar {} -> err ("OneChar cannot have nullable True ")
       _ -> return . addGroupResetsAC resets . addTagAC pre =<< actNullableTagless qIn ( addTagAC post . addGroupSetsAC sets $ ac )
 
-  actNullableTagless qIn ac@(eLoop,mAccepting,mQNFA) = debug (">< actNullableTagless "++show (qIn)++" <>") $ do
+  actNullableTagless qIn ac@(eLoop,mAccepting,mQNFA) = do
     case unQ qIn of
       Seq q1 q2 -> actNullable q1 =<< actNullable q2 ac   -- We know q1 and q2 are nullable
                       
@@ -662,7 +659,7 @@
           mChildAccepting <- act q (this,Nothing,Nothing)
           (thisAC@(this,_,_),ansAC) <- 
             case mChildAccepting of
-              Nothing -> err $ "Weird pattern in getTransTagless/Star: " ++ show (qTop,qIn)
+              Nothing -> err "Weird pattern in getTransTagless/Star"
               Just childAccepting -> do
                 let childQT = resetOrbitsQT resetTheseOrbits . enterOrbitQT mOrbit . getQT $ childAccepting
                     thisQT = mergeQT childQT . getQT . leaveOrbit mOrbit . getE $ ac
@@ -683,19 +680,19 @@
                 return (thisAll,ansAll)
           return (if mayFirstBeNull then (if clear then thisAC else ansAC)
                     else thisAC)
-      NonEmpty q -> ecart ("\n> actNullableTagless/NonEmpty"++show qIn) $ do
+      NonEmpty q -> do
         -- We *know* that q is nullable from Pattern and CorePattern checks, but assert here anyway
-        when (mustAccept q) (err $ "actNullableTagless/NonEmpty : provided with a *mustAccept* pattern: "++show (qTop,qIn))
-        when (cannotAccept q) (err $ "actNullableTagless/NonEmpty : provided with a *cannotAccept* pattern: "++show (qTop,qIn))
+        when (mustAccept q) (err $ "actNullableTagless/NonEmpty : provided with a *mustAccept* pattern")
+        when (cannotAccept q) (err $ "actNullableTagless/NonEmpty : provided with a *cannotAccept* pattern")
 
         {- This is like actNullable (Or [Empty,q]) without the extra tag to prefer the first Empty branch -}
         let (clearE,_,_) = case maybeOnlyEmpty qIn of
                              Just [] -> ac
                              Just _wtags -> ac -- addWinTagsAC wtags ac XXX was duplicating tags
-                             Nothing -> err $ "actNullableTagless/NonEmpty is supposed to have an emptyNull nullView : "++show (qTop,qIn)
+                             Nothing -> err $ "actNullableTagless/NonEmpty is supposed to have an emptyNull nullView"
         (_,mChildAccepting,_) <- actNullable q ac
         case mChildAccepting of
-          Nothing -> err  $ "Weird pattern in actNullableTagless/NonEmpty: " ++ show (qTop,qIn)
+          Nothing -> err  $ "Weird pattern in actNullableTagless/NonEmpty"
             -- cannotAccept q checked for and excluded the above condition (and starTrans!)
           Just childAccepting -> do
             let childQT = getQT childAccepting
@@ -704,7 +701,7 @@
                                   Just futureAcceptingE -> Just . fromQT . mergeQT childQT . getQT $ futureAcceptingE
                                   -- I _think_ there is no need for mergeQT_2nd in the above.
             return (clearE,thisAccepting,Nothing)
-      _ -> err $ "This case in Text.Regex.TNFA.TNFA.actNullableTagless cannot happen: "++show (qTop,qIn)
+      _ -> err $ "This case in Text.Regex.TNFA.TNFA.actNullableTagless cannot happen"
 
   -- This is applied directly to any qt immediately before passing to mergeQT
   resetOrbitsQT :: [Tag] -> QT -> QT
@@ -755,7 +752,7 @@
          PAnyNot _ ps ->
            let trans = toMap mempty . S.toAscList . addNewline . decodePatternSet $ ps
            in Simple { qt_win = mempty, qt_trans = trans, qt_other = target }
-         _ -> err ("Cannot acceptTrans pattern "++show (qTop,pIn))
+         _ -> err "Cannot acceptTrans pattern "
     where  -- Take a common destination and a sorted list of unique chraceters
            -- and create a map from those characters to the common destination
       toMap :: IntMap [(DoPa,[(Tag, TagUpdate)])] -> [Char]
diff --git a/regex-tdfa-rc.cabal b/regex-tdfa-rc.cabal
--- a/regex-tdfa-rc.cabal
+++ b/regex-tdfa-rc.cabal
@@ -1,5 +1,5 @@
 Name:                   regex-tdfa-rc
-Version:                1.1.8.1
+Version:                1.1.8.2
 -- 0.99.4 tests pnonempty' = \ p -> POr [ PEmpty, p ] instead of PNonEmpty
 -- 0.99.5 remove PNonEmpty constructor
 -- 0.99.6 change to nested nonEmpty calls for PBound
@@ -47,6 +47,7 @@
 -- 1.1.7 fix url below
 -- 1.1.8 Make ghc-7.0.2 on platorm 2011.2.0.0.0 happy
 -- 1.1.8.1 Fix for ghc 7.8
+-- 1.1.8.2 Remove Show instances
 License:                BSD3
 License-File:           LICENSE
 Copyright:              Copyright (c) 2007, Christopher Kuklewicz
