If we had
```Haskel
instance (Resolve f l1, Resolve fl2) =>  Resolve f (Either l1 l2)
```
then using `MonadIO` could serve a practical purpose.

But the above is an overlapping instance and I don't know that it wouldn't create problems in practice. Worth trying I guess.