Пока общие впечатления такие: надо делать доклад на spb fprog, где показать то, что я тут пытаюсь сделать, и в конце показать как наглядно и элегантно тоже самое делается в TypeScript буквально 3-5 строками. 🙂 Такая полезная вещь глазами разработчика на Haskell видится как какое-то непонятное усложнение, хотя оно несёт в себе глубокий смысл, наделяя систему типов подробностями о работе предметной модели.