Exercise 4-6 (Added Option.traverse)