As far as dynamic typing: for every unfortunate runtime surprise that dynamic typing can give you, I can find a multi-page compiler error in a statically-typed language that was frustratingly finicky about type precision. Neither is a clear win; yet I really like how dynamic systems naturally encourage good test infrastructures. Also, use linters.
The Python 2/3 divide is real though. I guess we’re still better off than Perl (6.x seems pretty unused).