Because in some cases it is required, for example without that fix:
I didn't say it didn't need to be fixed. Only that it had a side effect of creating a real Element object when it didn't need to. I thought using fly() was a way to avoid that. There are other ways to skin this cat, and I posted one, another would be to use a private deferfocus fn, and others out there I'm sure.
I'm just not a fan of having unintended side effects. In your example, the user had two calls to fly (and not get so they didn't want the creation of new Element objects), yet one got created.
I did preface the post with an apology for nitpicking!