https://en.wikipedia.org/wiki/Entity_component_system#Characteristics
> This eliminates the ambiguity problems of deep and wide inheritance hierarchies often found in Object Oriented Programming techniques that are difficult to understand, maintain, and extend. Common ECS approaches are highly compatible with, and are often combined with, data-oriented design techniques.
I'm sorry what? Generics and multi-methods #ObjectOriented systems (https://en.wikipedia.org/wiki/Multiple_dispatch) have no such problem.
