This hoisting phase can't do type parameter extensions because the pass can't reference type annotations (they might be below, thus not seen yet and in the namespace)
Similar for extends, you can't do anything at registration, so this needs to be set later
Modifying types (specifically the eager_fixed field on PolyNature::Generic and extends on Type::Interface) isn't great (so far managed to avoid it)
Maybe these need to be held separately on environment/TypeStore
eager_fixed
field onPolyNature::Generic
andextends
onType::Interface
) isn't great (so far managed to avoid it)TypeStore