Professor John Ousterhout at Stanford University published a book on software design principles
One of these principles is that modules should be deep
Modules = interface + implementation
So you should hide a lot of the complexity of your implementation behind a very thin interface
I found this concept from Lauren Tan’s X article about pstack x.com/poteto/article/2094457600259842065?lang=en