Unfortunately yes (for now), the reality of a situation is that lookup could only be performed on a concrete type so type variable has to be bound before member constraint could be simplified. Once we get a way to associate type variable with possible set of bindings on every step (currently gathering is done separately) then we might be able to refactor simplifyMemberConstraint
to avoid binding base, but this is more of an implementation detail than anything - when base comes concrete type in that case.
1 Like