Sometimes it would be neat to be able to use a fallible pattern match in do-notation, similar to what we get with lists. This is enabled by having a MonadFail instance.
I was wondering if there was some reason why there is no MonadFail instance available that I can not see?