Monad Transformers (part 1)

Hopefully this will be the first in a series of posts about monad transformers. I’m not saying anything new here and there are other resources online that go through this area starting from more basic principles. My goal is to give an overview of transformers and then to explore some of the transformer libraries in later posts.

I’m trying to keep things short and sweet so it’ll be mostly code with a few comments: