The two steps of type inference are: 1. Gathering constraints (or Fact Extraction) while traversing the AST. This process generates equality constraints between types. 2. Solving these constraints using Unification.
Polymorphic Type Inference requires additional steps.