traceNote
  :: Show a => String -> ErrorExtractor v loc a -> ErrorExtractor v loc a
traceNote s ex = extractor $ \n ->
  let result = extract ex n
  in  trace (if null s then show result else s ++ ": " ++ show result) result
traceNote
  :: Show a => String -> ErrorExtractor v loc a -> ErrorExtractor v loc a
traceNote s ex = extractor $ \n ->
  let result = extract ex n
  in  trace (if null s then show result else s ++ ": " ++ show result) result
traceNote s ex = extractor $ \n ->
  let result = extract ex n
  in  trace (if null s then show result else s ++ ": " ++ show result) result