Higher-rank type inference using constraints