Один из паттернов для проектов на Haskell - это "singleton" (в шутку). Это когда работаешь ОДИН или в небольшой команде. Есть ОДНО коммерческое задание и ОДНОМУ заказчику без разницы твои взгляды на free monads и т.д. Тогда берешь ОДИН фреймворк (вэб-фреймворк почти всегда подойдет) и навешиваешь на него логику задачи, с использованием других библиотек и своего кода. Разумеется, здесь придется следовать жестким (более-менее) правилам фреймворка. Все это можно сделать и, если скомпилится, то будет наверняка работать, а заказчик будет доволен. В конце-концов успешный проект - это когда за него заплатят деньги.