sig   type 'a sequence = ('-> unit) -> unit   type 'a equal = '-> '-> bool   type 'a ord = '-> '-> int   type 'a printer = Format.formatter -> '-> unit   type ('good, 'bad) t =     ('good, 'bad) Result.result =       Ok of 'good     | Error of 'bad   val return : '-> ('a, 'err) CCResult.t   val fail : 'err -> ('a, 'err) CCResult.t   val of_exn : exn -> ('a, string) CCResult.t   val of_exn_trace : exn -> ('a, string) CCResult.t   val fail_printf :     ('a, Buffer.t, unit, ('b, string) CCResult.t) Pervasives.format4 -> 'a   val fail_fprintf :     ('a, Format.formatter, unit, ('b, string) CCResult.t) Pervasives.format4 ->     'a   val add_ctx : string -> ('a, string) CCResult.t -> ('a, string) CCResult.t   val add_ctxf :     ('a, Format.formatter, unit,      ('b, string) CCResult.t -> ('b, string) CCResult.t)     Pervasives.format4 -> 'a   val map : ('-> 'b) -> ('a, 'err) CCResult.t -> ('b, 'err) CCResult.t   val map_err :     ('err1 -> 'err2) -> ('a, 'err1) CCResult.t -> ('a, 'err2) CCResult.t   val map2 :     ('-> 'b) ->     ('err1 -> 'err2) -> ('a, 'err1) CCResult.t -> ('b, 'err2) CCResult.t   val iter : ('-> unit) -> ('a, 'b) CCResult.t -> unit   exception Get_error   val get_exn : ('a, 'b) CCResult.t -> 'a   val get_or : ('a, 'b) CCResult.t -> default:'-> 'a   val map_or : ('-> 'b) -> ('a, 'c) CCResult.t -> default:'-> 'b   val catch :     ('a, 'err) CCResult.t -> ok:('-> 'b) -> err:('err -> 'b) -> 'b   val flat_map :     ('-> ('b, 'err) CCResult.t) ->     ('a, 'err) CCResult.t -> ('b, 'err) CCResult.t   val ( >|= ) : ('a, 'err) CCResult.t -> ('-> 'b) -> ('b, 'err) CCResult.t   val ( >>= ) :     ('a, 'err) CCResult.t ->     ('-> ('b, 'err) CCResult.t) -> ('b, 'err) CCResult.t   val equal :     ?err:'err CCResult.equal ->     'CCResult.equal -> ('a, 'err) CCResult.t CCResult.equal   val compare :     ?err:'err CCResult.ord ->     'CCResult.ord -> ('a, 'err) CCResult.t CCResult.ord   val fold :     ok:('-> 'b) -> error:('err -> 'b) -> ('a, 'err) CCResult.t -> 'b   val fold_ok : ('-> '-> 'a) -> '-> ('b, 'c) CCResult.t -> 'a   val is_ok : ('a, 'err) CCResult.t -> bool   val is_error : ('a, 'err) CCResult.t -> bool   val guard : (unit -> 'a) -> ('a, exn) CCResult.t   val guard_str : (unit -> 'a) -> ('a, string) CCResult.t   val guard_str_trace : (unit -> 'a) -> ('a, string) CCResult.t   val wrap1 : ('-> 'b) -> '-> ('b, exn) CCResult.t   val wrap2 : ('-> '-> 'c) -> '-> '-> ('c, exn) CCResult.t   val wrap3 :     ('-> '-> '-> 'd) -> '-> '-> '-> ('d, exn) CCResult.t   val pure : '-> ('a, 'err) CCResult.t   val ( <*> ) :     ('-> 'b, 'err) CCResult.t ->     ('a, 'err) CCResult.t -> ('b, 'err) CCResult.t   val join :     (('a, 'err) CCResult.t, 'err) CCResult.t -> ('a, 'err) CCResult.t   val both :     ('a, 'err) CCResult.t ->     ('b, 'err) CCResult.t -> ('a * 'b, 'err) CCResult.t   module Infix :     sig       val ( >|= ) :         ('a, 'err) CCResult.t -> ('-> 'b) -> ('b, 'err) CCResult.t       val ( >>= ) :         ('a, 'err) CCResult.t ->         ('-> ('b, 'err) CCResult.t) -> ('b, 'err) CCResult.t       val ( <*> ) :         ('-> 'b, 'err) CCResult.t ->         ('a, 'err) CCResult.t -> ('b, 'err) CCResult.t     end   val map_l :     ('-> ('b, 'err) CCResult.t) -> 'a list -> ('b list, 'err) CCResult.t   val fold_l :     ('-> '-> ('b, 'err) CCResult.t) ->     '-> 'a list -> ('b, 'err) CCResult.t   val fold_seq :     ('-> '-> ('b, 'err) CCResult.t) ->     '-> 'CCResult.sequence -> ('b, 'err) CCResult.t   val choose : ('a, 'err) CCResult.t list -> ('a, 'err list) CCResult.t   val retry :     int -> (unit -> ('a, 'err) CCResult.t) -> ('a, 'err list) CCResult.t   module type MONAD =     sig       type 'a t       val return : '-> 'CCResult.MONAD.t       val ( >>= ) :         'CCResult.MONAD.t ->         ('-> 'CCResult.MONAD.t) -> 'CCResult.MONAD.t     end   module Traverse :     functor (M : MONAD->       sig         val sequence_m :           ('M.t, 'err) CCResult.t -> ('a, 'err) CCResult.t M.t         val fold_m :           ('-> '-> 'M.t) -> '-> ('a, 'err) CCResult.t -> 'M.t         val map_m :           ('-> 'M.t) ->           ('a, 'err) CCResult.t -> ('b, 'err) CCResult.t M.t         val retry_m :           int ->           (unit -> ('a, 'err) CCResult.t M.t) ->           ('a, 'err list) CCResult.t M.t       end   val to_opt : ('a, 'b) CCResult.t -> 'a option   val of_opt : 'a option -> ('a, string) CCResult.t   val to_seq : ('a, 'b) CCResult.t -> 'CCResult.sequence   type ('a, 'b) error = [ `Error of '| `Ok of 'a ]   val of_err : ('a, 'b) CCResult.error -> ('a, 'b) CCResult.t   val to_err : ('a, 'b) CCResult.t -> ('a, 'b) CCResult.error   val pp : 'CCResult.printer -> ('a, string) CCResult.t CCResult.printer   val pp' :     'CCResult.printer ->     'CCResult.printer -> ('a, 'e) CCResult.t CCResult.printer end