Fixed type checking bug. The system was not unifying the new type constraints from each expression before using them to compute new variable types