Denis Krivosheev
Ну если ты (надеюсь нормально что я на ты?) параллелил монады то до тайпклассов ты дошёл (потому что монада это тайплас). Основное за что ругают элм это отсутствие рестриктед полиморфизма (тех самых тайпклассов), невозможность прямого вызова js никогда и ни при каких обстоятельствах (кроме избранных) и высокая токсичность коре тим
ну я в том смысле, что не разбирал конкретно как определять свои тайпклассы и как работает этот механизм в хаскелле. Тайпклассы как некоторый абстрактный интерфейс, ну там в случае монады это набор функций bind
join
return
и тп это понятно