A critical problem in early stages of development is to determine
what details are appropriate at each level of abstraction,
and (often more importantly) what details should be omitted.
One does not want to ignore or throw away important information
But one does not want to manage too much information, or have the
amount of information hide critical details.