Typeclassopedia で証明されているように、圏論からインポートされた現在のクラスのスタックは、美しい首尾一貫した全体ではなく、歴史の絡み合った偶然の産物です。
特に、これにより、何が起こっているのかを追跡することがかなり難しくなります。
下位互換性、コードの重複、扱いやすい短い型シグネチャなどのささいな懸念が問題にならない場合、このようなものはどのように見えるべきでしょうか?
標準クラスの一部のサブセットについては、改訂された階層を与える試みが行われています。
数値型クラス
特に、より豊富な数学的抽象化のセットを提供します。
これに加えて、他にも多くの代替デザインがあります。
カテゴリ型クラス
Functor、Monad、Monoid、Applicative、そしてもちろん、Category など、カテゴリに着想を得たクラスの作業は少なくなりました。
最も重要な作業は、
「カテゴリー」クラスに関しては、その他のプレリュードもあります。そこで概説されているクラス階層は、Fregeに実装されています。