This paper makes me think of some of the tradeoffs between writing and reading code, and abstraction: https://www.sciencedirect.com/science/article/abs/pii/S0010027711002496
… we argue that ambiguity can be understood by the trade-off between two communicative pressures which are inherent to any communicative system: clarity and ease. A clear communication system is one in which the intended meaning can be recovered from the signal with high probability. An easy communication system is one which signals are efficiently produced, communicated, and processed.