sig
  type ('a, 'e) t = ('a, 'e) Stdlib.result = Ok of '| Error of 'e
  val ok : '-> ('a, 'e) Stdlib.result
  val error : '-> ('a, 'e) Stdlib.result
  val value : ('a, 'e) Stdlib.result -> default:'-> 'a
  val get_ok : ('a, 'e) Stdlib.result -> 'a
  val get_error : ('a, 'e) Stdlib.result -> 'e
  val bind :
    ('a, 'e) Stdlib.result ->
    ('-> ('b, 'e) Stdlib.result) -> ('b, 'e) Stdlib.result
  val join :
    (('a, 'e) Stdlib.result, 'e) Stdlib.result -> ('a, 'e) Stdlib.result
  val map : ('-> 'b) -> ('a, 'e) Stdlib.result -> ('b, 'e) Stdlib.result
  val map_error :
    ('-> 'f) -> ('a, 'e) Stdlib.result -> ('a, 'f) Stdlib.result
  val fold :
    ok:('-> 'c) -> error:('-> 'c) -> ('a, 'e) Stdlib.result -> 'c
  val iter : ('-> unit) -> ('a, 'e) Stdlib.result -> unit
  val iter_error : ('-> unit) -> ('a, 'e) Stdlib.result -> unit
  val is_ok : ('a, 'e) Stdlib.result -> bool
  val is_error : ('a, 'e) Stdlib.result -> bool
  val equal :
    ok:('-> '-> bool) ->
    error:('-> '-> bool) ->
    ('a, 'e) Stdlib.result -> ('a, 'e) Stdlib.result -> bool
  val compare :
    ok:('-> '-> int) ->
    error:('-> '-> int) ->
    ('a, 'e) Stdlib.result -> ('a, 'e) Stdlib.result -> int
  val to_failure : ('a, string) Stdlib.result -> 'a
  val catch_failure : (unit -> 'a) -> ('a, string) Stdlib.result
  val catch_sys_error : (unit -> 'a) -> ('a, string) Stdlib.result
  val to_option : ('a, 'e) Stdlib.result -> 'a option
  val to_list : ('a, 'e) Stdlib.result -> 'a list
end