私はコード内のすべてのトップレベル定義に型署名を入れるのが好きです。しかし、インスタンス宣言の型署名は許可されていないようで、入れると GHC から「型署名が間違っています」というエラーが出ます。なぜそうなるのでしょうか? GHC はなぜ型署名が期待したものと同じかどうかをチェックできず、そうでない場合は拒否 (または警告) できないのでしょうか?
ベストアンサー1
[新しい]を使用してインスタンスの型シグネチャを追加できます。-Xインスタンスシグは、特に型変数をスコープ内に持ち込む場合に便利です。詳細については、公式ドキュメント。