Using inheritance becomes painful in languages like C++ as soon as diamond-like hierarchies are involved.