All of life is iterative. It goes back to the point I made earlier, which is you can't a priori know enough to even ask the right questions.
Multiple Inheritance is like a parachute. You don't often need it, but when you do, you really need it.
UML is not dessert topping and floor wax.
The task of the software development team is to engineer the illusion of simplicity.
Hierarchy is a kind of order of abstractions.
Ah, but who do you think created the chaos?