Наброшу пожалуй ещё про тайпклассы и дженерики - это не единственный способ в ад-хок полиморфизм. Все абстракции, которые так любят юниоры, изучающие хаскиль и проект Эйлера (включая монадки), прекрасно ложатся на "нетипизированные" темплейты в ситле языка D (C++ тоже, но там всё плохо). Вот их бы я точно предпочёл тайпклассам в elm-е. чисто моё имхо, не навязываю никому