未だにモナドの理解があやふやなのですが、計算を繋げるっていうイメージはこんなもので合っていますか?
IOモナドだったら|みたいな、縦棒1本の計算が繋っていて、
Maybeモナドだったらトみないな、片方はNothingで止まっている分かれ木で、
Eitherモナドだったら∧みたいな、二つのどちらかに繋るもので、
Listモナドだったら可変個の分岐すべての計算が続く。

ただ、このイメージだと、IdentityモナドとIOモナドの区別がつかないのでまだ理解が足りないのかと思ってます。