Working through the book Functional Programming Using F# by Michael R. Hansen and Hans Rischel