std.ml1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19module Result = struct include Result module Infix = struct let ( >>| ) t f = map f t let ( >>= ) t f = bind t f end module Syntax = struct open Infix let ( let+ ) = ( >>| ) let ( let* ) = ( >>= ) let ( and+ ) a b = a >>= fun a -> b >>| fun b -> (a, b) end end