Hi, currently the only instance for MonadResult is the catchall instance that then requires a MonadIO; would it be a good idea to instead write proper instances for all the usual Monad transformers to be able to write interpretations that are not necessarily impure without using {-# OVERLAPPING #-} pragmas on the MonadResult instance?