Would it be possible to interpret the `Error` effect using exceptions instead of `Either`s like polysemy's [`errorToIOFinal`](https://hackage.haskell.org/package/polysemy-1.3.0.0/docs/Polysemy-Error.html#v:errorToIOFinal)?