While digging in Salem I've realized that the map structure basically consists of a Height value at each tile corner and a material type (soil, clay, stone, lime) for each tile. This is a rather simplistic implementation and it's having some effects that are both illogical and annoying. No matter how deep one digs the material type never changes, its as if the world is constructed of vertically oriented columns of material but with different heights.
I propose this be modified to a layer system, the layers occur in specific order both to keep the system simple computationally and for the player. Of the 4 materials they would always occur in top-2-bottom order of Soil > Clay > Lime > Stone. Each material has its own separate elevation value but they are constrained such that they obey Soil >= Clay >= Lime >= Stone, the difference between each is thus the thickness of the layer, when two values are equal it means you have a zero thickness layer. By very simple comparisons its possible to determine what the top most material should be displayed for situations ware Soil has been stripped away exposing something underneath. Map generation consists of generating 4 randomized height-maps with the lower levels being more rough so they poke up and form mountains or outcroppings that will be useful for the player.
This system would have a lot of benefits, first and foremost it lets the player access all 4 materials almost any ware with sufficient effort. Second it allows the dig/fill system to be extended to all 4 materials rather then just soil. Currently any removal of Clay, Lime and Stone is irreparable not only in that it consumes a finite resource but the hole can never be filled in with ANYTHING. Under the layering system a tile of any material can accept a boulder/pile of like material OR any higher level material, so for example soil can be placed over atone. It's would just re-establish that layer and keep the proper layer structure intact. Paving and grass are of no thickness so that would be possible to do on anything as well the data being encoded separate from layer-elevations, I see no reason to disallow it on clay as is presently the case nor why structures can't be placed on clay (Any home builder will tell you it's an excellent foundation).
Finally I think Clay should be dug by the 'boulder' method similar to lime with the chunks yielding at least 5 clay, the amount of ground deflation caused by digging enough clay for objects that are quite modest in size is just absurd (We have managed to create a quite larger crater already just making a dozen urns), I have no issue with the humor drain involved in getting the clay just the huge holes. And lastly clay really need to look different from soil, but I'm sure that's been mentioned before.