Open KingoftheHomeless opened 3 years ago
It is known that Reader for Cont is a bit wonky. For me this seems like another argument for splitting up MonadReader into the ask and local parts. That said that transition will be painful and may have to be part of a large scale mtl 3 shift.
We'd expect
local id == id
, but this isn't true forContT
.Let:
then
Breaking apart the instance reveals what goes wrong:
Removing the instance would undoubtedly cause too much breakage, but perhaps a warning in the docs is warranted.