to post messages and comments.

В догонку к #2864255. Частично проблема решается явным экспортом полученных переменных. Теперь документация содержит те же символы что и загруженный модуль. Проблема в том, что я пытаюсь scrap my boilerplate и тут такой удар от классика.

Ну я так не играю. Я могу изобразить топ-левел биндинг с паттернматчингом, но haddock не умеет генерировать документацию^Wупоминания переменных созданных в этом паттерне, что сводит полезность вышеперечисленного на нет. Если в топ левеле объявить биндинг вида (var1, var2) = ('c', True), то в документации будет упомянут только var1.

Если явным образом запретить экспорт конструктора типа, но разрешить экспорт селекторов, то они будут изображены в документации как функции. Почти. Для селектора t из типа data T = T { t :: forall m. Monad m => m Int } констрейнты будут перечислены после аргумента T и с явным forall'ом. Можно это как-то пофиксить (кроме как написать алиасы)?

А где у нас можно найти пакет с документацией и примерами кода в поле synopsis кабал файла?
У меня тут пакет, а корневого модуля у него нет (библиотека). Решил доку в описание пакета сунуть, как в линзах сделано. Но фигурные скобки в блоках кода пропадают. Решение не гуглится.