duplicateDecl :: (Eq t) => t -> IO ()
-- #9973 was a bogus "redundant constraint" here
duplicateDecl sigs
 = do { newSpan <- return typeSig

         -- **** commenting out the next three lines causes the original warning to disappear
       ; let rowOffset = case typeSig of {  _  -> 1 }

       ; undefined }
   where
     typeSig = definingSigsNames sigs
duplicateDecl :: (Eq t) => t -> IO ()
duplicateDecl sigs
 = do { newSpan <- return typeSig

         -- **** commenting out the next three lines causes the original warning to disappear
       ; let rowOffset = case typeSig of {  _  -> 1 }

       ; undefined }
   where
     typeSig = definingSigsNames sigs
duplicateDecl sigs
 = do { newSpan <- return typeSig

         -- **** commenting out the next three lines causes the original warning to disappear
       ; let rowOffset = case typeSig of {  _  -> 1 }

       ; undefined }
   where
     typeSig = definingSigsNames sigs