- add HIR for generic params - resolve generic params in type paths - add substitions for ADTs - insert type variables for substitutions