There are dozens of things that would have to be broken to make this work, for instance sys.set_trace. Either tracing is broken, or tracing is rewritten with a new threading strategy (that's not this strategy) or you're back to GIL-land.
Nothing is impossible - not even GIL removal. Just very hard.
Some things may be as hard as a complete rewrite, though.
When talking about an interpreter; I find those terms completely acceptable. So long as the language itself continues to work, and I can still use C extensions.
The C extension are one reason why some features are so hard to implement. E.g. reference counting will always be with us, because the current interface to the C extensions rely on it. And you had to change all of them, if you wanted to get rid of it.