Why type instability?

Just to put a name. It looks like it’s an issue with dependent type.

It isn’t simple in this context to ensure that type checking remains decidable.

Enabling both type and type reassignment may be a way to circumvent that.