MonadCatch instances c/o @jwiegley