Static types in Python
I am glad to see that this is optional.  We need languages that mix compile/parse time (static) and run time (dynamic) types, to mix what fits best to each situation.Of course type checking can catch some problems.  The more extremist elements of the static types proponents seldom seem to ask the cost of adding types, and making some otherwise generic/overloaded operations harder to implement (e.g. - excess clutter in some "wordy" type systems, particularly in the C lineage where declared identifier names follow the other verbiage).  We need more tools that allow us to easily nail down fixed interfaces to avoid errors, but still allow flexible / dynamic / metaprogramming type code when needed, without having to jump through hoops in either case.Don't be a static typing extremist!  (or throw the baby out with the bath-water, either, I guess)