最小完全定義の説明ってちょっと分かりづらくないですかね
具体的には、Eqのインスタンスを宣言するときに(==), (/=)のどちらかを実装するって話(すごH本、wikibooksで確認)
いきなりEqクラスのデフォルト実装が循環定義になってるのを見せられると一瞬面食らう
学習上であまり直感的じゃない部分だと思うんだけど
ググってもあまり悲鳴が上がってないのが不思議
(ブログを見ると「らしい」という曖昧に理解してる感がある文章に出会える)