Practical OCaml - Smith, Joshua B. (Apress, 2007)