@kana_sama в документации к parser-combinators вот такое пишут:
> If you want to have an operator that is a prefix of another operator in the table, use the following (or similar) wrapper (Megaparsec example):
op n = (lexeme . try) (string n <* notFollowedBy punctuationChar)
Таким макаром завелось, вот только загадочные unknown parser error, но это возможно у меня дальше в грамматике какие-то косяки.