The Elm Architecture неплохо представлена, нет излишней сложности типа профункторной оптики
А в pux'е нужно стейт как в Elm'е, в одном месте хранить? Или можно для каждого компонента свой стейт сделать (и свою функцию update для его обновления)? Меня в Elm'е больше всего именно это напрягло, т.к. когда пытаешься сделать что-то чуть более сложное, чем список тудушек - стейт и апдейт раздуваются до труднопереваримых размеров.