https://qiita.com/HirotoShioi/items/8a6107434337b30ce457

はじめに haskellを利用する上で必修ともいえるライブラリがあります。 今回はその1つ、モナド変換子ライブラリ mtl を4回に分けて紹介したいと思います。 なぜモナドをスタックする必要があるのか 例えば環境変数 Env をIOの中で利用したいとするでしょう。すると環境変数を利用する全ての関数は Env を引数にとらなければなりません。