Существуют некоторые функции stdlib, которые выдают ошибки при неверном вводе. Например:
Prelude> read "1o2" :: Int *** Exception: Prelude.read: no parse
Я хотел бы обернуть его, чтобы вместо этого возвращалось Либо e a. Как мне это сделать?
Либо e a