Because the (ab-)use of void* instead of struct typedef pointers mean they do not understand C is OO and typesafe.
tl;dr: void* is a code smell.
tl;dr: void* is a code smell.
All of it builds off of `void( * )(int * )`, which is a pointer to a function taking a pointer to `int` and returning `void`.
More importantly, there is no void * in the article.
Even more importantly, it's a "silly puzzle" as already mentioned in the article. How do you conclude from that C programmers who love such puzzles don't understand OO? That's a very unscientific thing to say.
What I was getting at is that most C programmers simply do not understand programming at all and write utter trash. A lot of the stuff I've seen is failing to use type safety in C.