fp-ts:https://github.com/YBogomolov/ts-recursion-schemes-playground
Как всегда, есть нюансы — например, для стэкобезопасной реализации
Cofree необходима такая конструкция как Eval — которую я решил не тащить в примеры ввиду ее многословности, а ограничился простым ручным трамполайнингом. Но для общего понимания схем этого будет достаточно, по-моему.Спасибо @xgrommx за идею собрать этот пример 🙂