Object-oriented programming is an inherently flawed modeling approach, because in its being based on the way we like to perceive the world, it embraces the lie that our oversimplification tells: that all things are not interrelated, that cause and effect can be easily contained, that the world can be easily and perfectly divided to separate objects.
Inheritance attempts to build a bridge over those treacherous waters, but, like all modern science, still overlooks acausal dynamics and interrelationships (i.e synchronicities, etc.). We end up telling computers the same lies we tell ourselves.