На провах малоинтеллектуального онанизма. Есть тип-произведение T a, который Functor, Foldable, Traversable и вообще по сути узкоспециализированный список фиксированной длинны. Также у меня есть значение типа T (Parser Token), которое представляет из себя этот самый список набитый абсолютно одинаковыми значениями монадических парсеров. При помощи sequence я превращаю это значение в парсер типа Parser (T Token) и радуюсь. Теперь положим, что моя грамматика малость изменилась и кто-то расставил разделители между токенами (то есть разделителей на один меньше чем токенов). Могу я при помощи Foldable/Traversable и исходного значения T (Parser Token) построить корректный парсер Parser (T Token) для новой грамматики?