done the initial step of the type inference