圏論は性質を満たすパターンを集めたものだからさ、デザインパターン集みたいなもんだよ。
OOP で言うデザインパターンはイディオムだけど、 Haskell では型クラスとして記述可能にしているという違いはある。
つっても、例えばモナドがモナド則を満たすかどうかみたいにインターフェイス以外に必要なルールはプログラマの責任だけどな。