Class-Hierarchy Oriented Programming is actually a distinct-category from Object Oriented Programming, & the brittleness of CHOP has a price.
I once got part-way through OO Design Patterns in Ruby ( or whatever that was called ), & the difference between OO vs CHO programming, seemed striking..
But I'm not a real programmer, so therefore it's only a hunch.
( trying to learn Haskell, now: it seems to be solving the right problem )
_ /\ _