Clean.Types: Uniqueness propagation breaks unification
Consider the type (similar to that of
String Int *World -> (Bool, *File, *World). Due to uniqueness propagation, the result tuple is unique.
This should be unifiable with
String Int w -> (Bool, f, w) using
*File. However, unification fails because the result tuple in the second type is not unique (it only becomes unique due to the unification of lower types.