+55.5.0+dev0-2025-04-28/&Either!tA;!a@!b@@B$LeftB@@@7../../stdlib/either.mlix  x  @@&EitherA@%RightB@@@x  x  @@ B@@@A@YY@@@@@@x  @@@@@@A@$left@!a@B@&Either&!t!b@B@@@@@@@6| e e7| e @@5C@@%right@!b@B@&Either'!t!a@B@@@@@@@W  X  @@VD@@'is_left@&Either(!t!a@B@Š!b@B@@@@$bool)@@@@@@~B  B  @@}E@@(is_right@&Either*!t!a@B@Р!b@B@@@@'+@@@@@@E C CE C d@@F@@(get_left@&Either,!t!a@B@۠!b@B@@@@@@@H  H  @@G@@)get_right@&Either-!t!a@B@!b@B@@@@@@@O S SO S s@@H@@)find_left@&Either.!t!a@B@!b@B@@@@&optionL@@@@@@V  V  "@@ I@@*find_right@&Either/!t!a@B@!b@B@@@@( @@@@@@4Y m m5Y m @@3J@@(map_left@@"a1@B@"a2@B@@@ @&Either0!t!b@B@ @@@ &Either1!t @@@@@@@@i\  j\ @@hK@@)map_right@@"b1@(B@"b2@*B@@@@&Either2!t!a@&B@@@@&Either3!t!@@@"@@#@@$@`ww`w@@L@@#map$left@"a1@;B@+"a2@=B@,@@-%right@"b1@?B@."b2@AB@/@@0@&Either4!t(@@@3&Either5!t,@@@6@@7@@8@@9@deb@@M@@$fold $left@!a@NB@B!c@RB@C@@D%right@!b@PB@E@@F@&Either6!t"@@@I@@J@@K@@L@ii@@N@@'retract!@&Either7!t!a@YB@S@@@V@@W@/m{{0m{@@.O@@$iter"$left@!a@hB@Z$unit8@@@[@@\%right@!b@jB@]9@@@^@@_@&Either:!t'@@@b#;@@@c@@d@@e@@f@lrmr5@@kP@@'for_all#$left@!a@yB@k <@@@l@@m%right@!b@{B@n=@@@o@@p@&Either>!t&@@@s+?@@@t@@u@@v@@w@vv@@Q@@%equal$$left@!a@B@|@G@@@@}@@~@@%right@!b@B@@ZA@@@@@@@@&EitherB!t*@@@@&EitherC!t6$@@@wD@@@@@@@@@@@@zTT|@@R@@'compare%$left@!a@B@@#intE@@@@@@@%right@!b@B@@F@@@@@@@@&EitherG!t+@@@@&EitherH!t7$@@@1I@@@@@@@@@@@@AbbB@@@S@@@3,Either type.@ N Either is the simplest and most generic sum/variant type: a value of 1('a, 'b) Either.t- is either a -Left (v : 'a)* or a .Right (v : 'b)!.@ It is a natural choice in the API of generic functions where values could fall in two different cases, possibly at different types, without assigning a specific meaning to what each case should be.@1 For example:@! QList.partition_map: ('a -> ('b, 'c) Either.t) -> 'a list -> 'b list * 'c list@ If you are looking for a parametrized type where one alternative means success and the other means failure, you should use the more specific type (Result.t@@!.@@@@$4.12@@@@@@@A7../../stdlib/either.mli#(Either.t3+A value of 1('a, 'b) Either.t contains either a value of "'a0 or a value of "'b@@@@@@@@@@@@YY@@@@@@@@A@@@@+Either.left3&left v$ is &Left v!.@@@@@@@@@@@@@ @@@@,Either.right3'right v$ is 'Right v!.@@@@@@@@@@@@@@@@@.Either.is_left30is_left (Left v)$ is $true", 1is_left (Right v)$ is %false!.@@@@@@@@@@@@@=@@@@~/Either.is_right31is_right (Left v)$ is %false", 2is_right (Right v)$ is $true!.@@@@@@@@@@@@@a@@@@|/Either.get_left3*get_left e$ is !v$ if !e$ is &Left v5 and raise otherwise.@@@@#5.4@@@0Invalid_argument#if !e$ is 'Right _!.@@@@@@@@@@0Either.get_right3+get_right e$ is !v$ if !e$ is 'Right v5 and raise otherwise.@@@@#5.4@@@0Invalid_argument#if !e$ is &Left _!.@@@@@@@@@@0Either.find_left32find_left (Left v)$ is &Some v", 3find_left (Right _)$ is $None@@@@@@@@@@@@@@@@@1Either.find_right34find_right (Right v)$ is &Some v", 3find_right (Left _)$ is $None@@@@@@@@@@@@@@@@@/Either.map_left3,map_left f e$ is *Left (f v)$ if !e$ is &Left v) and !e$ if !e$ is 'Right _!.@@@@@@@@@@@@@I@L@@@@0Either.map_right3-map_right f e$ is +Right (f v)$ if !e$ is 'Right v) and !e$ if !e$ is &Left _!.@@@@@@@@@@@@@@@@@@*Either.map39map ~left ~right (Left v)$ is -Left (left v)&, :map ~left ~right (Right v)$ is /Right (right v)!.@@@@@@@@@@@@@@@@@@@+Either.fold3:fold ~left ~right (Left v)$ is &left v*, and ;fold ~left ~right (Right v)$ is 'right v!.@@@@@@@@@@@@@@@@@@@.Either.retract30retract (Left v)$ is !v&, and 1retract (Right v)$ is !v!.@@@@#5.4@@@@@@@@@@@@+Either.iter3:iter ~left ~right (Left v)$ is &left v*, and ;iter ~left ~right (Right v)$ is 'right v!.@@@@@@@@@@@@@@@)@@@@|.Either.for_all3=for_all ~left ~right (Left v)$ is &left v*, and >for_all ~left ~right (Right v)$ is 'right v!.@@@@@@@@@@@@@@@Sw@@@@j,Either.equal38equal ~left ~right e0 e13 tests equality of "e0% and "e1' using $left) and %right + to respectively compare values wrapped by &Left _) and 'Right _!.@@@@@@@@@@@@@@@s@j@@@@].Either.compare3:compare ~left ~right e0 e10 totally orders "e0% and "e1' using $left) and %right + to respectively compare values wrapped by 'Left _ % and 'Right _&. &Left _9 values are smaller than 'Right _( values.@@@@@@@@@@@@@@@q@h@@@@[@@$@@A@@@@@