type (!'a, !'b) t = ('a, 'b) resultval ok : 'a -> ('a, 'b) resultval error : 'b -> ('a, 'b) resultval reword_error : ('b -> 'c) -> ('a, 'b) result -> ('a, 'c) resultval get_ok : ('a, 'b) result -> 'aval get_error : ('a, 'b) result -> 'bval return : 'a -> ('a, 'b) resultval fail : 'b -> ('a, 'b) resultval (>>|) : ('a, 'b) result -> ('a -> 'c) -> ('c, 'b) resultmodule Infix : sig ... endtype msg = [ | `Msg of string
]val msg : string -> [> msg ]val error_msg : string -> ('a, [> msg ]) resultval error_msg_to_invalid_arg : ('a, msg) result -> 'aval failwith_error_msg : ('a, msg) result -> 'aval is_ok : ('a, 'b) result -> boolval is_error : ('a, 'b) result -> boolval equal :
ok:('a -> 'a -> bool) ->
error:('b -> 'b -> bool) ->
('a, 'b) result ->
('a, 'b) result ->
boolval compare :
ok:('a -> 'a -> int) ->
error:('b -> 'b -> int) ->
('a, 'b) result ->
('a, 'b) result ->
intval to_option : ('a, 'b) result -> 'a optionval of_option : none:(unit -> ('a, 'b) result) -> 'a option -> ('a, 'b) resultval to_presult : ('a, 'b) result -> [> `Error of 'b | `Ok of 'a ]val of_presult : [< `Error of 'b | `Ok of 'a ] -> ('a, 'b) resultval ignore_error : use:('b -> 'a) -> ('a, 'b) result -> 'a