Design Follows Data Structures