ぶっちゃげ、現時点では、Haskellの学習はかなり高コストだと思う。

本来は、IOモナドのdo記法は副作用を使うための特別なシンタックス、という認識でも支障ないと思うし、
その使い方はなんとなくdo記法を使っていればなんとなく理解できるとは思うんだけど、
現時点ではどうしても「モナドって何?」「圏論ってなに?」ってことを勉強したくなって、
よほど才能あるか、数学が得意でないかぎりかなりの苦闘になる。

でも、べつにいいじゃん。
そこで苦しんだだけの見返りはちゃんとあるよ。