The author seems to conflate static typing with class-based typing for much of this. Languages like Haskell and TypeScript (and I thought Scala?) are statically typed, but have a concept of structural types that don't require you to use classes at all. In fact this static duck-typing is, I'm pretty sure, one of Haskell's most-advertised features.
It also assumes all static typing is nominal typing, when structural static types also exist and don't lead to Java-like class overload.