Law of Leaky Abstractions

Abstractions hide detail on purpose. Non-trivial ones still let lower-level behavior through under some conditions—performance, failure, edge cases—so engineers eventually have to know what was hidden. That is an argument for understanding layers, not for abandoning abstractions.