тип, для которого есть Monad, можете даже свой тип придумать и реализовать для него. А какое различие вы хотели увидеть в написанном?
Основное преимущество - абстракция. У фьючи или любой другой монады очень богатый интерфейс. Ограничивая себя F[_], проще читать код, т.к. эффекты ограничены тайпклассами. Далее - множественные реализации, как уже упомянули Третье - повторное использование. Код на тайпклассах можно затянуть в совершенно другой проект с совершенно другим подходом, взяв другие реализации тайпклассов.
Обсуждают сегодня