let fold f v t = let rec aux v = function | { content = c ; children = [] } -> f v c | { content = c ; children = l } -> let v = f v c in List.fold_left aux v l in aux v t