[minor fix] ensure that unification fails on incompatible type constructors
This is a minor bugfix on Infer.S.iter2
, which would previously accept sometimes to iterate on the leaves of a product type and a type constructor (if their arity matched), or two distinct type constructors with the same arity.