Milewski 氏の圏論講座の第1章 Category: The Essence of Compositionを読んでたら、冒頭あたりに次のような一文があった。 But the essence of a category is composition. Or, if you prefer, the essence of composition is a category. 射の合成こそが圏の本質で、またその逆も成り立つという。 Cats だと cats.arrowパッケージのArrowやCategoryといった型クラスで、いろいろなパターンの合成が提供されているらしい。今回はこれを調べてみた。 (Cats バージョンは 2.12の 2.0.0-M1。ソースはここ) Arrow の階層 cats.arrow パッケージ内のArrow関連の継承関係は、下図のようになる。 以降、これらの型クラ