A Protobuf codec generator for OCaml >=4.02 based on extension points