We need to align the spec with the new implementation. Section 3.10 should say that we pick the first type that is a supertype of all the others. Also, fold in the contextual typing rule for Best Common Type.