>>529 丁寧な説明ありがとう

>だから本当は、副作用のある処理ができる事がモナドの特徴なのではなくて、
>副作用のある処理が「Haskellの良さを壊さずに」できることが特徴なのです。

はい。そうなのだろうと思います。それは分かります。

>副作用の部分をきっちり分けることでHaskelの良さを壊さない、

副作用の部分を分けることは、Cの場合でもvoidとintなどの区別でできると
前に言いました。「きっちり」というところがHaskellとCとで違うという
ことでしょうか?しかし少なくとも先のdoubleの例題ではそんなに違いは
見えないのですが。

>型システムになじませることでHaskelの良さを壊さない、ということです。
この点も(たぶん)分かってると思います。