A Guide to Extension Points in OCaml | Open Awesome