With this patch, TypedefTypes and UsingTypes can have an
underlying type which diverges from their corresponding
For the TypedefType case, this can be seen when getting
the common sugared type between two redeclarations with
For both cases, this will become important as resugaring
is implemented, as this will allow us to resugar these
when they were dependent before instantiation.
Signed-off-by: Matheus Izvekov <email@example.com>