The contrast between "flexibility of choice" and "tyranny of one standard" is, um, a little over-drawn.�� I have three different Common Lisp systems on this laptop: CMUCL, SBCL, and CCL.�� I have the flexibility of choice between them *because* the adhere to a common standard.�� Each of them has its own extra bits, but I am free to choose between them because everything *else* is not idiosyncratic.�� I have a choice of machine learning libraries for Python, but that is useful to me because the *rest* of Python isn't different, so there's a huge amount of stuff I can use with an ML program.��
In Smalltalk I cannot even port a program that opens a file for input, another one for output, and copies the one to the other, despite everything I need being in the ANSI Smalltalk standard.�� I mean come ON!�� I have two commercial Smalltalks, two formerly commercial Smalltalks, three free Smalltalks, and several Smalltalk implementations that were never quite finished, and no two of them handle Unicode the same way!�� Think about it: you have "���������������� ����������" in a file, and no part of trying to copy that file is portable.�� Let's not mention Sockets, OK?�� Let's just not go there.
Choice and consistency are NOT a dichotomy.�� They are both important.�� You need consistency at one level to construct choices at the next level.
I note that there are type systems available for Prolog, Erlang, Scheme, and�� Python (https://realpython.com/python-type-checking/) and I've done work on a type inference program for AWK.�� Also that there are dynamic type facilities for Haskell and Clean.�� So dynamic types -vs- static types are not a hard dichotomy either.