Earlier quoted context omitted.
But exactly. The so-called OO languages are worse at the key tenets of OO paradigm: polymorphism and message passing. I didn't even attempt to clarify that in my original post so forgive me for that.
I'm a sizable clojure fan (and a long time Python developer) but I'm not sure where you'd say Python fails at polymorphism or message passing too strongly. Interfaces/traits maybe (z.i is quite crusty) but it's just as good at polymorphism. Mutability though yes -- hope you're aware of https://pyrsistent.readthedocs.io/en/latest/ I use it in every project I write.
One thing that is not perfect is the way Python treats classes; the mechanism is very much like in Java or C#. Multiple dispatch requires some handiwork, although it's not half bad in a highly dynamic (so many things are first class in Python!) language. It kinda isn't Python's fault but there you go when trying to introduce concepts to fellow developers not in the most usual python guidebooks. And a part of the problem is Django, which is nice and all, but entails some highly unpythonic design choices and people around here take Django's way as gospel.
Pyrsistent is great. But I'd rather Python 4000 or something would go the way of scala or swift where you have immutable values by default and mutable values only when you specify it.