型クラスの継承

ざっとキーワードだけ。

型クラスの宣言はclassで行います。宣言の中ではクラスメソッドの型宣言と、クラスメソッドのデフォルト実装を書くことができます。

型を型クラスのインスタンスだと宣言する時はinstanceを使います。宣言の中でクラスメソッドの実装を書くことができます。実装を書かなかった場合は型クラスの宣言のところで書いたデフォルトのクラスメソッドが使われます。

クラスメソッドの実装が自明な場合はinstanceの代わりにderivingを使うと、自動で適切なクラスメソッドを実装してくれます。と言われてもどういう時に実装が自明で、どういうクラスメソッドを自動で実装してくれるのかは私はよく分かっていません。