Type inference and unification: Programming Language Design course | Zoonk
22. Type inference and unification
Infer types with constraints, unification, substitutions, and generalization. Implement Hindley–Milner-style inference and produce useful errors when constraints conflict.