Basically follow the OCaml coding guidelines. https://ocaml.org/learn/tutorials/guidelines.html
- type annotation with function name
- consistent variable names with our document (e.g., c_0 + \Sigma c_i x_i, d_0 + \Sigma d_i y_i)
- insert
assert false on unreachable paths for debugging
- follow Infer's naming conventions (e.g., pp_*)
- ...
Basically follow the OCaml coding guidelines. https://ocaml.org/learn/tutorials/guidelines.html
assert falseon unreachable paths for debugging