OCaml package documentation
monadic_programming