>>114
例えば (>>) :: Monad m => m a -> m b -> m b。
これは、Monad 型クラスのインスタンス型であれば
どのような型の値でも被演算子になれる(引数として適用できる)のだが、
このようなものでは不満か?

ただ、この場合は m a 型引数 と m b 型引数は
Monad 型クラスの同じインスタンス型でなければならないがな。

f :: (Monad m, Monad n) => m a -> n b -> m a
とかなら Monad 型クラスの違うインスタンス型の値が引数になれる。

> Haskellの場合は上にあげたような何らかのコントロールを渡して何らかの処理をするような処理というのはどんなふうに書くもんでしょうか?

何らかの型クラスのインスタンス型の値を渡したり、関数を渡したり、
関数内でパースされ解釈・計算される何らかの値(計算式を表したツリーとか)を渡す、など。