-isBangHsBind (PatBind { pat_lhs = L _ (BangPat p) }) = True
-isBangHsBind bind = False
-
-isIrrefutableHsPat :: LPat id -> Bool
--- This function returns False if it's in doubt; specifically
+isBangHsBind (PatBind { pat_lhs = L _ (BangPat _) }) = True
+isBangHsBind _ = False
+
+isIrrefutableHsPat :: OutputableBndr id => LPat id -> Bool
+-- (isIrrefutableHsPat p) is true if matching against p cannot fail,
+-- in the sense of falling through to the next pattern.
+-- (NB: this is not quite the same as the (silly) defn
+-- in 3.17.2 of the Haskell 98 report.)
+--
+-- isIrrefutableHsPat returns False if it's in doubt; specifically