Okasaki's book in OCaml