failure was expected, so it made sense to use `Mon...
# arrow
p
failure was expected, so it made sense to use
MonadError
as an abstraction. Always go for the abstraction of least power, so if you don’t expect exceptions just use
Monad
and
binding
.
2