avoid overflowing environment in type intersection when a typevar meets the same type repeatedly