Earlier quoted context omitted.
Yes, the article is terrible as it does not show any polymorphism. Also, yes, doing genuine polymorphic OO in C ends up horrible because you invent a new language. (Source: many years working on a truely evil code-base of OO C. Originally the work of one twisted genius. Brilliant, but evil). OO was just a failed paradigm anyway, I’m amazed anyone would try and shoe-horn it into C in the modern day.
https://news.ycombinator.com/item?id=34220101
That’s not to say that nothing has been salvaged from the wreckage; languages like Rust are a great example of retaining what actually was useful.