unify (subst s1 ta2) (subst s1 tb2) >>= \s2->
Right $ compose s2 s1
unify (TupleType (ta1,ta2)) (TupleType (tb1,tb2)) = unify ta1 tb1 >>= \s1->
- unify ta2 tb2 >>= \s2->
+ unify (subst s1 ta2) (subst s1 tb2) >>= \s2->
Right $ compose s2 s1
unify (ListType t1) (ListType t2) = unify t1 t2
unify (FuncType t1) (FuncType t2) = unify t1 t2