The more diverse the current requirements supported by an information structure, the more that structure will be able to support future requirements without needing modification. In effect, designing a single database to support multiple application systems is like looking into the future. One does not actually see future requirements per se, of course, but the need to support a broad variety of requirements confers a concurrent need to increase the generality of the database. It is a way to partially offset the reality of imperfect knowledge caused by the impossibility of knowing future requirements.