when you have non-trivial class hierarchy, you don...
# random
o
when you have non-trivial class hierarchy, you don’t control inherited dependencies, you can’t really substitute them, or see if there are too many, etc.