an OCaml implementation of Rx Observables