Having seen many type-checking initiatives for Python come and go over the years, I've come to believe that type-checking is like security in that it is difficult to add after-the-fact and works best when designed-in from day one.
When function annotations were introduced, I ended up removing all their uses from the standard library because every early attempt to use it was too simplistic and failed to support any type-system use case except for extra documentation.
When function annotations were introduced, I ended up removing all their uses from the standard library because every early attempt to use it was too simplistic and failed to support any type-system use case except for extra documentation.