I have seen it phrased in programmer-type spaces as "leaky abstractions"; put the important pieces in a way you can hold onto them, and elide the "unimportant". the map is not the territory... but that means making decisions about what to include (and what not).
And then you (generic) run into a weird edge case, mutter "it shouldn't be doing that", and find out that something in that black-box API works as expected... for "normal" input.
no subject
And then you (generic) run into a weird edge case, mutter "it shouldn't be doing that", and find out that something in that black-box API works as expected... for "normal" input.
... the point of this got away from me.