そんなに間違ってはないけどな。
haskellの解釈としては「命令列」を構成して返しているから副作用はない!
副作用を起こしているのは実行系だ!
みたいな屁理屈だし。