add a post about ocaml's functor