Exactly. At each level of abstraction, you don’t care what the functions look inside. The name must be enough to understand what it does.
You can of course descend one level, but at that point the layer above is no important. Just that the function fills the contract, possibly calling. Still more functions, which at that level are black boxes…