The best way to achieve a good abstraction is to recall what the word meant before computer science: namely, something closer to generalization.

Source: That’s not an abstraction, that’s a layer of indirection | Hacker News