ex3.28. ex3.29 fold() still busted. Removed other cruft