Solving 99 problems in OCaml