С другой стороны твой вариант не требует SRTP, он больше похож на аналог DI на самом деле. Прокидываешь нужные зависимости в матрицу и она там дальше крутится-вертится
Конечно нет. Тайпклассы Хасклея - это в первую очередь способ заочно общаться, можешь открыть любой более-менее общеупотребимый тайплкасс из Prelude и убедиться воочию: там не только законы, которые должны выполнять имплеметоры тайпкласс (и на исполнение которых полагается компилятор нередко), но и комментарии тоже встречаются. Там сама дефиниция тайпкласс явно отделена от всего остального, хорошо акцентирует на себе внимание и в целом отлично справляется с возложенной на нее социальной миссией. А за годы, конечно, еще обрасла другими удобствами (например, дефолтной реализацией). Здесь же - хуй пойми что.