sig type'a t = 'a option = None|Someof'a val none : 'a option val some : 'a ->'a option val value : 'a option -> default:'a ->'a val get : 'a option ->'a val bind : 'a option -> ('a ->'b option) ->'b option val join : 'a option option ->'a option val map : ('a ->'b) ->'a option ->'b option val product : 'a option ->'b option -> ('a * 'b) option val fold : none:'a -> some:('b ->'a) ->'b option ->'a val iter : ('a -> unit) ->'a option -> unit val blend : ('a ->'a ->'a) ->'a option ->'a option ->'a option val for_all : ('a -> bool) ->'a option -> bool val exists : ('a -> bool) ->'a option -> bool val is_none : 'a option -> bool val is_some : 'a option -> bool val equal : ('a ->'a -> bool) ->'a option ->'a option -> bool val compare : ('a ->'a -> int) ->'a option ->'a option -> int val to_result : none:'e ->'a option -> ('a, 'e) Stdlib.result val to_list : 'a option ->'a list val to_seq : 'a option ->'a Stdlib.Seq.t moduleSyntax : sig val ( let* ) : 'a option -> ('a ->'b option) ->'b option val ( and* ) : 'a option ->'b option -> ('a * 'b) option val ( let+ ) : 'a option -> ('a ->'b) ->'b option val ( and+ ) : 'a option ->'b option -> ('a * 'b) option end end