なんだかオブジェクト指向の「クラスとインスタンス」と
Haskell の ad-hoc 型多相における「型クラスとインスタンス」とを
ごっちゃに理解している気がする
名前が似ているから、最初はしゃあないのかもしれんが....