Ex 5.4: forAll
Ex 5.5: takeWhile with foldRight
Ex 5.6: headOption with foldRight
Tidy up