>>680
スレ違いだから、ここまでにするけど…。
モナドは、突き詰めればアウトソーシングを数学的に表した概念ですね。

ListモナドやMaybeモナドはアウトソーシング先が同じ数学の世界なだけで。
IOモナドはハードウェアへのアウトソーシングです。
(厳密には、ハードウェアと遣り取りするバッファがIOモナドと言った方が良い)

動きとしては、箱(アウトソーシング先)のようなものから値を取り出して、関数で「何か加工して箱のようなものに戻す」。という動きをしています。