ch 4, ex 5
ch 4, ex 6 (+ add transform to Option => implement orElse and flatMap via transform)