An OCaml implementation of 2048