The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise. - E.W. Dijkstra
And I try to be as abstract as possible :)