Предвосхищаю вопросы по поводу инфиксных операторов: и модели и апдейты и вьюхи, это моноиды (точнее, model и update - полугруппы, а view - моноид), и если бы в Elm были тайпклассы, то можно было бы обойтись одним инфиксным оператором для всех случаев. А так приходится изголяться. Впрочем, обычные именованные комбинаторы тоже есть (операторы их просто алиасят) и можно пользоваться ими.