The 99 Problems (http://ocaml.org/learn/tutorials/99problems.html)