> the principal that a bit of code should care as little as possible about things it's not about
Can you find/quote where that principle comes from? I'm genuinely curious.
I think it is mostly based on OOP paradigm, like principle of least knowledge.
If code breaks because list is now a hashmap, that seems like an anti-feature.