Higher Dimensional Algebraic Data Types We investigate a natural hierarchy of free Lawvere theories. Algebraic data types turn out to live at the second level of this hierarchy. This is the basis for the main two applications presented here : We solve the problem of finding a general fold algorithm and we introduce the novel programming feature of higher dimensional algebraic data types. These data types are presented with a general type inference method. Further we identify the iteration schemes map and fold in the higher dimensional version.