Drop lazy recursive application in approximateParent
Drop lazy recursive application in approximateParent

This plays badly with any code that inspects bounds deeply when creating constraints
since the LazyRefs create new type variables at unexpected times. Instead, create
the type variables first with an empty constraint of the right kind and then add
the bounds to the constraint using subtype tests.

lampepfl/dotty,sjrd/dotty,dotty-staging/dotty,dotty-staging/dotty,dotty-staging/dotty,sjrd/dotty,dotty-staging/dotty,lampepfl/dotty,lampepfl/dotty,lampepfl/dotty,dotty-staging/dotty,lampepfl/dotty,sjrd/dotty,sjrd/dotty,sjrd/dotty