Module Monad.Option
include Misc.Stdlib.Monad.S2
with type ('a, _) t := 'a Misc.Stdlib.Monad.Option.t
val bind :
'a Misc.Stdlib.Monad.Option.t ->
('a -> 'b Misc.Stdlib.Monad.Option.t) ->
'b Misc.Stdlib.Monad.Option.tval (>>=) :
'a Misc.Stdlib.Monad.Option.t ->
('a -> 'b Misc.Stdlib.Monad.Option.t) ->
'b Misc.Stdlib.Monad.Option.t>>= is a synonym for bind
val return : 'a -> 'a Misc.Stdlib.Monad.Option.treturn v returns the (trivial) computation that returns v.
val map :
('a -> 'b) ->
'a Misc.Stdlib.Monad.Option.t ->
'b Misc.Stdlib.Monad.Option.tval join :
'a Misc.Stdlib.Monad.Option.t Misc.Stdlib.Monad.Option.t ->
'a Misc.Stdlib.Monad.Option.tjoin t is t >>= (fun t' -> t').
val both :
'a Misc.Stdlib.Monad.Option.t ->
'b Misc.Stdlib.Monad.Option.t ->
('a * 'b) Misc.Stdlib.Monad.Option.tval ignore_m : _ Misc.Stdlib.Monad.Option.t -> unit Misc.Stdlib.Monad.Option.tignore_m t is map (fun _ -> ()) t.
val all :
'a Misc.Stdlib.Monad.Option.t list ->
'a list Misc.Stdlib.Monad.Option.tval all_unit :
unit Misc.Stdlib.Monad.Option.t list ->
unit Misc.Stdlib.Monad.Option.tLike all, but ensures that every monadic value in the list produces a unit value, all of which are discarded rather than being collected into a list.
module Syntax : sig ... endAs described at https://ocaml.org/manual/latest/bindingops.html