HKT (Higher-Kinded Types)
Tip sistemi özelliği: tip kurucuları (tip parametresi alan tipler) üzerinde soyutlama yapar. "Genelleri genelleyen" kod sağlar: Functor F ifadesinde F herhangi bir kapsayıcı tip olabilir (List, Option, Tree).
Haskell ve Scala'da standart. Typeclass tabanlı soyutlamanın temeli: Monad, Functor, Applicative — hepsi HKT gerektirir. Rust'ta HKT yok; "Rust'ta neden monad yok" tartışmalarının kaynağı bu, çoğu kullanım durumunu GAT'ler (Generic Associated Types) karşılıyor. TypeScript'te de yok — topluluk çözümü fp-ts kütüphanesi. Ana akım diller için ödünleşim: HKT kavramsal olarak temizdir ama basit durumlara karmaşıklık katar. Modern eğilim: Rust, Swift ve Carbon HKT'yi bilinçli olarak atlıyor.