Protocol-aware version negotiation for OCaml
