Google Protocol Buffers runtime implemented in OCaml