Type inference and unification: Programming Language Design course | Zoonk