eager substitution in type unification