What is a ‘higher-kinded type’ and why can’t TypeScript natively represent it?

TypeScript Professional Hard

TypeScript Professional — Hard

What is a ‘higher-kinded type’ and why can’t TypeScript natively represent it?

Key points

  • TypeScript lacks kind polymorphism for representing higher-kinded types
  • HKTs must be simulated using lookup types or interface merging tricks
  • Higher-kinded types are parameterized over type constructors
  • Functor is an example of a higher-kinded type

Ready to go further?

Related questions