I have never quite understood the second part of the phrase...
\'High-level modules should not depend on low-level modules. Both should depend on abstractions (e.