sig   type 'a t = 'a option   val map : ('-> 'b) -> 'CCOpt.t -> 'CCOpt.t   val map_or : default:'-> ('-> 'b) -> 'CCOpt.t -> 'b   val is_some : 'CCOpt.t -> bool   val is_none : 'CCOpt.t -> bool   val compare : ('-> '-> int) -> 'CCOpt.t -> 'CCOpt.t -> int   val equal : ('-> '-> bool) -> 'CCOpt.t -> 'CCOpt.t -> bool   val return : '-> 'CCOpt.t   val ( >|= ) : 'CCOpt.t -> ('-> 'b) -> 'CCOpt.t   val ( >>= ) : 'CCOpt.t -> ('-> 'CCOpt.t) -> 'CCOpt.t   val flat_map : ('-> 'CCOpt.t) -> 'CCOpt.t -> 'CCOpt.t   val map2 : ('-> '-> 'c) -> 'CCOpt.t -> 'CCOpt.t -> 'CCOpt.t   val iter : ('-> unit) -> 'CCOpt.t -> unit   val fold : ('-> '-> 'a) -> '-> 'CCOpt.t -> 'a   val filter : ('-> bool) -> 'CCOpt.t -> 'CCOpt.t   val if_ : ('-> bool) -> '-> 'a option   val exists : ('-> bool) -> 'CCOpt.t -> bool   val for_all : ('-> bool) -> 'CCOpt.t -> bool   val get_or : default:'-> 'CCOpt.t -> 'a   val get_exn : 'CCOpt.t -> 'a   val get_lazy : (unit -> 'a) -> 'CCOpt.t -> 'a   val sequence_l : 'CCOpt.t list -> 'a list CCOpt.t   val wrap : ?handler:(exn -> bool) -> ('-> 'b) -> '-> 'b option   val wrap2 :     ?handler:(exn -> bool) -> ('-> '-> 'c) -> '-> '-> 'c option   val pure : '-> 'CCOpt.t   val ( <*> ) : ('-> 'b) CCOpt.t -> 'CCOpt.t -> 'CCOpt.t   val ( <$> ) : ('-> 'b) -> 'CCOpt.t -> 'CCOpt.t   val ( <+> ) : 'CCOpt.t -> 'CCOpt.t -> 'CCOpt.t   val choice : 'CCOpt.t list -> 'CCOpt.t   module Infix :     sig       val ( >|= ) : 'CCOpt.t -> ('-> 'b) -> 'CCOpt.t       val ( >>= ) : 'CCOpt.t -> ('-> 'CCOpt.t) -> 'CCOpt.t       val ( <*> ) : ('-> 'b) CCOpt.t -> 'CCOpt.t -> 'CCOpt.t       val ( <$> ) : ('-> 'b) -> 'CCOpt.t -> 'CCOpt.t       val ( <+> ) : 'CCOpt.t -> 'CCOpt.t -> 'CCOpt.t     end   val to_list : 'CCOpt.t -> 'a list   val of_list : 'a list -> 'CCOpt.t   type 'a sequence = ('-> unit) -> unit   type 'a gen = unit -> 'a option   type 'a printer = Format.formatter -> '-> unit   type 'a random_gen = Random.State.t -> 'a   val random : 'CCOpt.random_gen -> 'CCOpt.t CCOpt.random_gen   val choice_seq : 'CCOpt.t CCOpt.sequence -> 'CCOpt.t   val to_gen : 'CCOpt.t -> 'CCOpt.gen   val to_seq : 'CCOpt.t -> 'CCOpt.sequence   val pp : 'CCOpt.printer -> 'CCOpt.t CCOpt.printer end