type !'a t = ('a, Base__.Info.t) result
val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
val t_of_sexp : (Sexplib0__.Sexp.t -> 'a) -> Sexplib0__.Sexp.t -> 'a t
val sexp_of_t : ('a -> Sexplib0__.Sexp.t) -> 'a t -> Sexplib0__.Sexp.t
val both : 'a t -> 'b t -> ('a * 'b) t
val (<*>) : ('a -> 'b) t -> 'a t -> 'b t
val (<*) : 'a t -> unit t -> 'a t
val (*>) : unit t -> 'a t -> 'a t
val apply : ('a -> 'b) t -> 'a t -> 'b t
val map2 : 'a t -> 'b t -> f:('a -> 'b -> 'c) -> 'c t
val map3 : 'a t -> 'b t -> 'c t -> f:('a -> 'b -> 'c -> 'd) -> 'd t
val invariant : ('a -> unit) -> 'a t -> unit
val (>>=) : 'a t -> ('a -> 'b t) -> 'b t
val (>>|) : 'a t -> ('a -> 'b) -> 'b t
val bind : 'a t -> f:('a -> 'b t) -> 'b t
val join : 'a t t -> 'a t
val ignore_m : 'a t -> unit t
val all : 'a t list -> 'a list t
val all_unit : unit t list -> unit t
val is_error : 'a t -> bool
val try_with : ?backtrace:bool -> (unit -> 'a) -> 'a t
val try_with_join : ?backtrace:bool -> (unit -> 'a t) -> 'a t
val ok : 'ok t -> 'ok option
val of_exn : ?backtrace:[ `Get | `This of string ] -> exn -> 'a t
val of_exn_result :
?backtrace:[ `Get | `This of string ] ->
('a, exn) result ->
'a t
val error :
?here:Base__.Import.Stdlib.Lexing.position ->
?strict:unit ->
string ->
'a ->
('a -> Sexplib0.Sexp.t) ->
'b t
val error_string : string -> 'a t
val errorf : ('a, unit, string, 'b t) format4 -> 'a
val tag : 'a t -> tag:string -> 'a t
val unimplemented : string -> 'a t
val map : 'a t -> f:('a -> 'b) -> 'b t
val iter : 'a t -> f:('a -> unit) -> unit
val iter_error : 'a t -> f:(Base__.Info.t -> unit) -> unit
val combine_errors : 'a t list -> 'a list t
val combine_errors_unit : unit t list -> unit t
val filter_ok_at_least_one : 'a t list -> 'a list t
val find_ok : 'a t list -> 'a t
val find_map_ok : 'a list -> f:('a -> 'b t) -> 'b t