trans1 t r = trans2 t $ const r
satTok :: TokenValue -> Parser Token Token
-satTok t = satisfy ((===) t)
+satTok t = top >>= \tok=:(pos, tv) -> if (t === tok) (return tok) (fail <?> ("Token", pos))
parseSepList :: TokenValue (Parser Token a) -> Parser Token [a]
parseSepList sep p =