Лень было собирать sdcv, изобразил такой понос: https://github.com/polachok/hdict
С трансформерами наебался, правда, потом переделаю.
IO (WriterT (IO Maybe a)) это ололо.
Сначала было вообще IO (WriterT (IO Maybe (IO a))), но потом я немножко пришел в себя.
Алсо, как всегда, реквестирую илиту, пусть расскажет мне как глобально и надёжно
читать файлы, например.