exercise 5.13 mapViaUnfold implemented
exercise 5.13 takeViaUnfold implemented