So, I am confused. I mixed up several versions of this article, and the version that was online when I submitted this story was not the good one; in particular, it was lacking several changes I made after receiving feedbacks from Mastodon.
I apologise for the inconvenience, this is fixed now. In particular:
No more confusion between ReturnT and ResultT, the correct name (ResultT) is used everywhere now
I have added several footnotes to actually give pointers to read, related to some GHC pragmas I am using
ResultT is an alternative to EitherT, not to mtl or Eff
So, I am confused. I mixed up several versions of this article, and the version that was online when I submitted this story was not the good one; in particular, it was lacking several changes I made after receiving feedbacks from Mastodon.
I apologise for the inconvenience, this is fixed now. In particular:
ReturnTandResultT, the correct name (ResultT) is used everywhere nowResultTis an alternative toEitherT, not to mtl orEff