Fix problems in avoid
Fix problems in avoid

It turned out that avoid does not always produce a supertype of
the original type, which makes the additions in "ensureNoLocalRefs"
type incorrect. This commit fixes the problems.

yusuke2255/dotty,som-snytt/dotty,auvik/dotty,dotty-staging/dotty,angi2/dotty,lampepfl/dotty,vsalvis/dotty,lampepfl/dotty,spetz911/dotty,sjrd/dotty,VladimirNik/dotty,densh/dotty,spetz911/dotty,dotty-staging/dotty,som-snytt/dotty,sjrd/dotty,sjrd/dotty,som-snytt/dotty,yusuke2255/dotty,folone/dotty,som-snytt/dotty,lampepfl/dotty,angi2/dotty,lampepfl/dotty,sjrd/dotty,svalaskevicius/dotty,folone/dotty,auvik/dotty,vsalvis/dotty,som-snytt/dotty,dotty-staging/dotty,sjrd/dotty,reactormonk/dotty,svalaskevicius/dotty,dotty-staging/dotty,densh/dotty,reactormonk/dotty,dotty-staging/dotty,VladimirNik/dotty,lampepfl/dotty