Я хочу написать функцию saveStuff
, которая что-то сохраняет в файл, после прохождения определенных тестов. Если тесты не пройдены, мне нужно поднять ошибку. Какой должен быть тип результата этой функции? Я думал о IO (Either String ())
и IO (Maybe String)
, но оба они по какой-то причине кажутся неправильными. Я искал похожие функции в стандартной библиотеке, но они просто возвращают IO ()
. Они бросают исключения при сбоях. Мне не нравится такой подход.