ここまでの流れ、「Monad/Arrowがよく分からねえ!!」という人は
自分だけじゃないらしいので、少し安心した。

自分の中では「結合子(combinator)とMonad/Arrowとの違い」が分かっていない。
たとえば>>701は、Monadの例としてパーサ/FRP/XML処理を挙げているけど、少なくとも
・パーサ(形式言語の字句解析/構文解析)や
・XML処理(木構造をベースとした言語のvalidation/transfom/encode)は、
Monad/Arrowみたいな難しい概念を導入しなくてもcombinatorだけで書けるし、
その原理を説明できる。(FRPや副作用の話は知らない&分からない....)

実際Haskellでなくても、Monad登場以前の言語であるMiranda/Goferでもcombinatorで書けるし、
MLのようなinfix定義の可能な作用順評価(=非遅延評価)な関数型言語ならばcombinatorで書ける。
それどころかJavaやRubyのような非関数型言語でも表現力は劣るけどcombinatorで書ける。
http://jparsec.codehaus.org/ を参照)

歴史を振り返れば、関数型言語への(ラムダ計算モデルにおける)combinatorという概念の導入は
BackusのFP(1978年)が最初の挑戦であり、その後にMLの型システム(1976-83年)によって
型安全性が保証され、さらにMiranda(1985年)によって正規順評価言語にも適用が拡大する。
そして最終的にこれら成果の結集としてHaskellが誕生し、Monad/Arrowへ発展していく。

自分の中では、おそらく>>702の言い方をマネすると
 「combinatorを圏論の視点で再構築したのがMonad/Arrowである」
じゃないのかな?と想像してる。ただ、自分にはそもそもの圏論(category)が大きな壁に....。
というか、分かったつもりでいた初等代数系(群/環/体/束)に関する自分の知識(自信)が崩れ去り、
一から再勉強し直すことに...orz。やっぱりMonad/Arrowは難しいと思う。