Exercise 3.29: Generalize size, maximum, depth, and map, writing a new function fold.