 hierarchical design for data and
      algorithms
 hierarchical design for data and
      algorithms
 design data structure first, then associate algorithms to data
      (not the reverse)
      design data structure first, then associate algorithms to data
      (not the reverse)
 need for sufficiently rich expressive powers for data design
      need for sufficiently rich expressive powers for data design
 exploit this fact in hierarchical design
 exploit this fact in hierarchical design