Causal OCaml