Closed funketh closed 3 years ago
I think this is because of the loss of function contravariance. Haskell can't tell that (MonadThrow (Sem r) => Sem r a) -> Sem r a
can be subsumed by (MonadCatch (Sem r) => Sem r a) -> Sem r a
, so it certainly looks like it. I never thought the change would have this kind of impact.
Does simple eta-expansion resolve the issue? I'm somewhat scared that it won't.
absorbMonadThrow main = absorbMonadCatch main
MonadCatch hasn't been touched since 2019 so this probably has something to do with ghc 9 changes.
The
stack.yaml
I used: