sig   type ('a, 'b) t = ('a, 'b) Result.result   val ok : '-> ('a, 'b) Result.result   val error : '-> ('a, 'b) Result.result   val reword_error :     ('-> 'c) -> ('a, 'b) Result.result -> ('a, 'c) Result.result   val get_ok : ('a, 'b) Result.result -> 'a   val get_error : ('a, 'b) Result.result -> 'b   val return : '-> ('a, 'b) Result.result   val fail : '-> ('a, 'b) Result.result   val bind :     ('a, 'b) Result.result ->     ('-> ('c, 'b) Result.result) -> ('c, 'b) Result.result   val map : ('-> 'c) -> ('a, 'b) Result.result -> ('c, 'b) Result.result   val join :     (('a, 'b) Result.result, 'b) Result.result -> ('a, 'b) Result.result   val ( >>= ) :     ('a, 'b) Result.result ->     ('-> ('c, 'b) Result.result) -> ('c, 'b) Result.result   val ( >>| ) :     ('a, 'b) Result.result -> ('-> 'c) -> ('c, 'b) Result.result   module Infix :     sig       val ( >>= ) :         ('a, 'b) Result.result ->         ('-> ('c, 'b) Result.result) -> ('c, 'b) Result.result       val ( >>| ) :         ('a, 'b) Result.result -> ('-> 'c) -> ('c, 'b) Result.result     end   type msg = [ `Msg of string ]   val msg : string -> [> msg ]   val msgf : ('a, Format.formatter, unit, [> msg ]) format4 -> 'a   val pp_msg : Format.formatter -> msg -> unit   val error_msg : string -> ('a, [> msg ]) Result.result   val error_msgf :     ('a, Format.formatter, unit, ('b, [> msg ]) Result.result) format4 -> 'a   val reword_error_msg :     ?replace:bool ->     (string -> msg) ->     ('a, msg) Result.result -> ('a, [> msg ]) Result.result   val error_to_msg :     pp_error:(Format.formatter -> '-> unit) ->     ('a, 'b) Result.result -> ('a, [> msg ]) Result.result   val error_msg_to_invalid_arg : ('a, msg) Result.result -> 'a   val open_error_msg :     ('a, msg) Result.result -> ('a, [> msg ]) Result.result   type exn_trap = [ `Exn_trap of exn * Printexc.raw_backtrace ]   val pp_exn_trap : Format.formatter -> exn_trap -> unit   val trap_exn : ('-> 'b) -> '-> ('b, [> exn_trap ]) Result.result   val error_exn_trap_to_msg :     ('a, exn_trap) Result.result -> ('a, [> msg ]) Result.result   val open_error_exn_trap :     ('a, exn_trap) Result.result -> ('a, [> exn_trap ]) Result.result   val pp :     ok:(Format.formatter -> '-> unit) ->     error:(Format.formatter -> '-> unit) ->     Format.formatter -> ('a, 'b) Result.result -> unit   val dump :     ok:(Format.formatter -> '-> unit) ->     error:(Format.formatter -> '-> unit) ->     Format.formatter -> ('a, 'b) Result.result -> unit   val is_ok : ('a, 'b) Result.result -> bool   val is_error : ('a, 'b) Result.result -> bool   val equal :     ok:('-> '-> bool) ->     error:('-> '-> bool) ->     ('a, 'b) Result.result -> ('a, 'b) Result.result -> bool   val compare :     ok:('-> '-> int) ->     error:('-> '-> int) ->     ('a, 'b) Result.result -> ('a, 'b) Result.result -> int   val to_option : ('a, 'b) Result.result -> 'a option   val of_option :     none:(unit -> ('a, 'b) Result.result) ->     'a option -> ('a, 'b) Result.result   val to_presult : ('a, 'b) Result.result -> [> `Error of '| `Ok of 'a ]   val of_presult : [< `Error of '| `Ok of 'a ] -> ('a, 'b) Result.result   val ignore_error : use:'-> ('a, 'b) Result.result -> 'a   val kignore_error :     use:('a, 'c) Result.result ->     ('a, 'b) Result.result -> ('a, 'c) Result.result end