馃挕My thinking around this topic is influenced by Eric Normand's Lispcast episode on abstraction. Check it out, and his podcast.
Abstraction is a common topic in programming discussions. You hear a lot about the right abstraction, the wrong abstraction; this level of abstraction or that level; leaky ones,