Using, Understanding, and Unraveling OCaml