A persistent queue in OCaml