なぜ多くの言語はHigher Kinded Typesをサポートしないのか
e.g. Functor[F[_]]
HKTs のメリット
ほとんどの言語はサポートしてない
∵ 実装自体が複雑になり、コンパイルが遅くなる
高階単一化
暗黙解決(型クラス解決)の複雑化
では実装するのか?
パターン単一化
ヒューリスティック
ユーザに型注釈を求める
ランタイムの負荷
HKTs なしでも回される
多くの実用アプリケーションは HKTs なしで困っていない
ボイラーテンプレートが増える
が、今は AI がコードを書くのでこの点はクリア
それでも型で保証したい