1This principle of structuring code according to the data definition is advocated in the book How to Design Programs http://www.ccs.neu.edu/home/matthias/HtDP2e/.