Implementing the Nigori spec in OCaml