nobsunから、またアドバイスをいただきました。 いつもありがとうございます。 ちょうど、以下でご説明いただいた部分を考えていたところなので、 よい整理になりました。 nobsunから 結城さん モナドの考察、たいへん興味深く拝見しています。 以下は、ひょっとして、ヒントになるかもしれないと思って書いています。 (モナドになると、だいぶんおよび腰になってしまうのは、私自身、 モナドの意味そのものをよく理解していわけでないからです。) Haskell のクラスには細かく分類すると 2 種類あります。 「型クラス」と「型構築子クラス」です。 - Ord、Eq、Show などは「型クラス」 - Functor、Monad、MonadPlus などは「型構築子クラス」 「型クラス」は、そのインスタンスである型の値(これは first class)の性質を 規定するものですが、「型構築子クラス」は