Класс типов MonadPlus. Монада Except. Мультипараметрические классы типов и их использование в mtl. Трансформеры монад в библиотеках transformers и mtl.
MonadPlus
Except