While deep inheritance hierarchies
may seem like a great way of
modelling your concepts when you
have a blank slate, it’s a
recipe for some extremely tight
and non-obvious coupling that
can deadlock refactoring attempts
in later phases once those concepts
have shifted and the original
model is no longer a good fit.
This is probably the best critique of nominal inheritance I've read. It really does capture the problem and nicely alludes to the struggle of arguing against an inheritance structure. That it usually starts with many benefits but can easily grow to a constraint.