Python is not the first language to do a thing like this. This is a fairly well-known trick especially from other interpreted languages that had reason to be sped up. We're sort of trying to make the interpretation more efficient without losing the super dynamic nature of the language. That's always the challenge.