Haskellプログラミング 自分自身を出力するプログラム

http://www.ipsj.or.jp/07editj/promenade/4703.pdf
後半にモナド&圏論のキチンとした説明があります。
コレが欲しかった。
とりあえずモノイドは理解しました。他のモノイドを考えてみました。あってるよね?

(boolean, &&, true)
(boolean, ||, false)
(色, 光の合成, 黒)
(色, インキの合成, 白)

でも私が理解できたのはそこまで。
それ以降は私のノーミソではムリなのもわかりました。\(^o^)/
でもまぁ、こういう規則を持つモノを研究し、その成果をプログラムに生かそうということですね。具体的にはどんな「御利益」があるのだろうか?