Ask HN: What is your philosophy when creating abstractions?
Having been in the industry I've seen people talk about abstraction in different forms, and displaying different sets of priorities for different properties of abstraction.
I was looking to find a list of things that people consider very valuable when building their own abstractions (or when evaluating which libraries to use in their projects), and what things they think make the codebase worse.