Folding over recursively defined data structures for natural numbers and lists.
Keywords: folding, list, lists, nat, natural numbers, recursive datatype, recursive function, right fold.