12345678910111213141516(** Open this to use applicative functor/monad syntax for {!result}. *)moduleSyntax=struct(* Applicative functor. *)let(let+)xf=Result.mapfxlet(and+)xy=matchx,ywith|Okx,Oky->Ok(x,y)|Errore,_|_,Errore->Errore(* Monad *)let(let*)=Result.bindlet(and*)=(and+)let(>>=)=Result.bindend