-
Kim Nguyễn authored
for each component (int, atoms, pairs...) we optimize the case where the component is like T1&'a | T2 | T3&'a we split it into - T2 - T1 &'a | T3 &'a we retrieve { 'a } as the set of top level vars in the second type we compute T2 &'a | T1 &'a | T3 &'a then remove 'a from that type and return finally : T2 | ('a & (T1 | T2 | T3)) We special case if (T1 | T2 | T3) is top, then we just display T2 | 'a
40740c72