Caml1999I037NJ.Stdlib__Result!t;!a@e!e@d@B"Ok@@*result.mliY#Y+@@A@%Error@@ Y, Y9@@&B@@@A&Stdlib&result($@@@fYY@@@@@@Y@@@@8@@A@"ok@!a@h&result !e@g@@@i@@j@7\8\@@RC@@%error@!e@k6&result!a@l@@@m@@n@Q_R_@@lD@@%value@L&result!a@q!e@o@@@p'default@@r@@s@ob  pb :@@E@@&get_ok@j&result!a@v!e@t@@@u @@w@ee@@F@@'get_ok'@&result!a@z&stringQ@@@x@@@y @@{@jjC@@G@@)get_error@&result!a@|!e@~@@@}@@@pp@@H@@0error_to_failure@&result!a@6@@@@@@ @@@uccuc@@I@@$bind@&result!a@!e@@@@@@&result!b@@@@@@&result @@@@@@@@ {   {  Q@@$J@@$join@&result &result!a@!e@@@@@@@&result @@@@@@1~  2~  @@LK@@#map@@!a@!b@@@@8&result!e@@@@C&result @@@@@@@@ZA ! ![A ! [@@uL@@'product@U&result!a@!e@@@@@f&result!b@@@@q&result@ @@@@@@@@@@@D  D  @@M@@)map_error@@!e@!f@@@@&result!a@@@@&result @@@@@@@@J  J  @@N@@$fold"ok@!a@!c@@@%error@!e@@@@&result @@@@@@@@@@N : :N : @@O@@'retract@&result!a@@@@@@@R  R  @@P@@$iter@@!a@$unitF@@@@@@&result!e@@@@@@@@@@@@W L L W L ~@@:Q@@*iter_error@@!e@(@@@@@@&&result!a@à@@@9@@@@@@@@EZ  FZ  @@`R@@%is_ok@@&result!a@ɠ!e@@@@$boolE@@@@@@e_ppf_p@@S@@(is_error@`&result!a@Π!e@@@@ @@@@@@bb@@T@@%equal"ok@!a@@9@@@@@@@%error@!e@@I@@@@@@@@&result!@@@@&result*@@@_@@@@@@@@@@@@e55g@@U@@'compare"ok@!a@@#intA@@@@@@@%error@!e@@@@@@@@@@&result#@@@@&result,@@@(@@@@@@@@@@@@lEEn@@V@@)to_option@&result!a@!e@@@@&optionL@@@@@@$u%u@@?W@@'to_list@&result!a@!e@@@@$listK@@@@@@Ey44Fy4\@@`X@@&to_seq@@&result!a@!e@@@@P#Seq!t@@@@@@g|h|@@Y@@Ӡ&Syntax@$let*@h&result!a@B!e@E@@@A@@{&result!b@F@@@C@@D&result @@@G@@H@@I@@@Z@@$and*@&result!a@N!e@L@@@J@&result!b@M@@@K&result@ @@@O@@@P@@Q@@R@@B@@@[@@$let+@&result!a@T!e@V@@@S@@!b@W@@U&result @@@X@@Y@@Z@@@\@@$and+@&result!a@_!e@]@@@[@&result!b@^@@@\&result@ @@@`@@@a@@b@@c@. "/ k@@I]@@@@23@M^@@@@_L.Stdlib__Result06 ]/J+Stdlib__Seq0nwzG&amg.Stdlib__Either0Vy`u~c à&Stdlib0Lku]8_٠8CamlinternalFormatBasics0%FU(Q/Tu@@@Caml1999T037r5LH9C.Stdlib__Result*ocaml.text&_none_@@A Result values. Result values handle computation results and errors in an explicit and declarative manner without resorting to exceptions. @since 4.08 *result.mliP77U@@@@@@3@@@@@@#intA;@@@A@@@@@:@A@$charB;@@A@@@@@>@A@&stringQ;@@ A@@@@@B@@@%bytesC;@@ A@@@@@F@@@%floatD;@@A@@@@@J@@@$boolE;@@%falsec@@T@$trued@@Z@@@A@@@@@[@A@$unitF;@@"()e@@e@@@A@@@@@f@A@ #exnG;@@@A@@@@@j@@@#effH;@@O@A@A@@@@@@s@@@,continuationI;@@Q@@P@B@A@nY@@@@@@@@@%arrayJ;@@R@A@A@@@@@@@@@ $listK;@@S@A"[]f@@@"::g@@@T@@@ @@A@Y@@@@@@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@A@@@@@@@@%int32N;@@A@@@@@@@@%int64O;@@A@@@@@@@@&lazy_tP;@@X@AJA@Y@@@@@@@@5extension_constructorR;@@A@@@@@@@@*floatarrayS;@@A@@@@@@@@&iarrayT;@@Y@A[A@Y@@@@@@@@*atomic_locU;@@Z@AdA@@@@@@@@@.Assert_failure`#@@@@@J@@@@@@@@[@@A=ocaml.warn_on_literal_pattern @ @0Division_by_zero]#@@@A  @+End_of_file\#$@@@A@'FailureY#,@'@@A!$$@0Invalid_argumentX#5@0@@A*$-#-@-Match_failureV#>@@=@9@;@@a@@A;5>4>@)Not_foundZ#O@@@AC=F<F@-Out_of_memoryW#W@@@AKENDN@.Stack_overflow^#_@@@ASMVLV@.Sys_blocked_io_#g@@@A[U^T^@)Sys_error[#o@j@@Ad^g]g@:Undefined_recursive_modulea#x@@w@s@u@@h@@Auoxnx@:Continuation_already_takenb#@@@A}wv@&Stdlib@Ax5 {1:results Results} WW@@@@@@A+!tAY Y@А!a@3@;@@@@@B@A@@@@@@@@GG@BB@@@YY9@)ocaml.docʐ J The type for result values. Either a value [Ok v] or an error [Error e]. Z??Z?@@@@@@@@@@@@AYY@@BAА!e@;Y Y @@ @;C @B"OkMB@@@Y#Y+@@A@%ErrorB@@@Y,;@@ B@@@A&resultdB@,B@@@@YY@@@@@@NK@@;@#((# Y%@"@А!a,tY)*@@@@,@#((Y.Y3@$@А!e-Y7f@@@@-@@Aг*+$Y%Y @А!a0+Y,Y@@А!e42Y3Y@@@?5Y@@}F|{@{{@@@{@{@@>@"okJ\K\@б@А!a@B@3SRRSSSSS@R@AY\Z\@@г&resultb\c\@А!ai\j\@@А!e@B@u\v\@@@) @@@&}\@@@/ @@*(@@@\!@ː3 [ok v] is [Ok v]. ]]@@@@@@@C@@1@@@@@@@I%error__@б@А!e@B@3@^o4@A__@@гG&result__@А!a@B@__@@А!e#__@@@*@@@&_@@@/ @@*(@@@_!@(9 [error e] is [Error e]. `` @@@@@@@D@@1@8@@@@@@I%valueb b @б@г&resultb  b &@А!a@B@3@hy>@Ab b @@А!e@B@)b *b @@@# @@@1b "@@б'defaultА!a$:b 2;b 4@@А!a*%@b 8Ab :@@//@@*Eb *@@@@@.@@@Kb   @ E [value r ~default] is [v] if [r] is [Ok v] and [default] otherwise. Xc;;Yc;@@@@@@@qE@@@l@@@@@@M&get_okoepe@б@г&resultze{e@А!a@B@3@l>@Aee@@А!e@B@ee@@@# @@@e"@@А!a ee@@@%@@  @@@e@𐠠 k [get_ok r] is [v] if [r] is [Ok v] and raise otherwise. @raise Invalid_argument if [r] is [Error _]. fh@@@@@@@F@@@ɐ@@@@@@?'get_ok'j j'@б@г_&resultj7j=@А!a@B@3@^y>@Aj+j-@@г&stringj/j5@@ @@@@@@%@@@j*$@@А!a"jAjC@@@'@@" @@@j@O } [get_ok'] is like {!get_ok} but in case of error uses the error message for raising [Invalid_argument]. @since 5.4 kDDn@@@@@@@-G@@@_(@@@@@@A)get_error+p,p@б@г&result6p7p@А!a@B@3>==>>>>>@`{>@ADpEp@@А!e@ B@PpQp@@@# @@@Xp"@@А!e]p^p@@@@@  @@@dp@ n [get_error r] is [e] if [r] is [Error e] and raise otherwise. @raise Invalid_argument if [r] is [Ok _]. qqrs1a@@@@@@@H@@@@@@@@@?0error_to_failureucgucw@б@г&resultucuc@А!a@B@ 3@^y>@Auc{uc}@@гu&stringucuc@@ @@@ @@@%@@@ucz$@@А!a"ucuc@@@'@@" @@@ucc@ n [error_to_failure r] is [v] if [r] is [Ok v] and raises [Failure e] if [r] is [Error e]. @since 5.4 vy @@@@@@@I@@@䐠@@@@@@A$bind{  {  @б@гz&result{  {  #@А!a@#B@3@`{>@A{  {  @@А!e@'B@ {   {  @@@# @@@{  "@@б@б@А!a${  ({  *@@г&result&{  7'{  =@А!b@%B@42{  /3{  1@@А!e2;9{  3:{  5@@@9@@@CA{  .@@@L @@G(@@г&resultL{  KM{  Q@А!b&US{  CT{  E@@А!eS\Z{  G[{  I@@@3Z@@@db{  B@@@# @@ hf{  '@@@[@@!lV@@@l{   @ C [bind r f] is [f v] if [r] is [Ok v] and [r] if [r] is [Error _]. y| R Rz| R @@@@@@@J@@0@@@@@@@$join~  ~  @б@г#&result~  ~  @г-&result~  ~  @А!a@5B@(3@H@A~  ~  @@А!e@7B@)~  ~  @@@# @@@,~  "@@А!e~  ~  @@@;@@@/$~  :@@гe&result~  ~  @А!a83~  ~  @@А!e1:~  ~  @@@E8@@@2B~  @@@' @@3F"@@@~  @A C [join rr] is [r] if [rr] is [Ok r] and [rr] if [rr] is [Error _].     @@@@@@@K@@,@Q@@@@@@e#mapA ! %A ! (@б@б@А!a@EB@83(''(((((@|6@A.A ! ,/A ! .@@А!b@GB@9 9A ! 2:A ! 4@@@ @@:@@б@г&resultGA ! BHA ! H@А!a'"NA ! :OA ! <@@А!e@IB@;.ZA ! >[A ! @@@@9 @@@>6bA ! 9@@г&resultjA ! UkA ! [@А!b=EqA ! MrA ! O@@А!e#LxA ! QyA ! S@@@J*@@@ATA ! L@@@' @@BX"@@@K@@C[A ! +@@@A ! ! @Ґ G [map f r] is [Ok (f v)] if [r] is [Ok v] and [r] if [r] is [Error _]. B \ \B \ @@@@@@@L@@0@@@@@@@{'productD  D  @б@гA&resultD  D  @А!a@ZB@J3@>@AD  D  @@А!e@^B@KD  D  @@@# @@@ND  "@@б@гm&resultD  D  @А!b@\B@O,D  D  @@А!e*3D  D  @@@1@@@R;D  @@г&resultD   D  @В@А!aSND  D  @@@А!b/VD  D  @@@@b@8@@S_@@А!e[d)D  *D  @@@*b@@@Vl1D  )@@@: @@Wp5,@@@b@@Xs]/@@@:D  2@ [product r0 r1] is [Ok (v0, v1)] if [r0] is [Ok v0] and [r1] is [Ok v2] and otherwise returns the error of [r0], if any, or the error of [r1]. @since 5.4 GE  HH  @@@@@@@`M@@B@[@@@@@@)map_error ^J  _J  @б@б@А!e@nB@_3ihhiiiii@6@AoJ  pJ  @@А!f@pB@` zJ  {J  @@@ @@a@@б@г&resultJ  J  @А!a@lB@b'J  J  @@А!e3.J  J  @@@:@@@e6J  @@г3&resultJ  J  @А!a#EJ  J  @@А!fDLJ  J  @@@0K@@@hTJ  @@@' @@iX"@@@K@@j[J  @@@J   @ T [map_error f r] is [Error (f e)] if [r] is [Error e] and [r] if [r] is [Ok _]. K  L # 8@@@@@@@N@@0@#쐠@@@@@@{$fold!N : >N : B@б"okб@А!a@}B@q3@8@AN : IN : K@@А!c@B@r  N : ON : Q@@@ @@s@@б%errorб@А!e@B@t!!N : ]"N : _@@А!c''N : c(N : e@@@$@@u, @@б@г&result5N : s6N : y@А!aA<<N : k=N : m@@А!e'CCN : oDN : q@@@N.@@@xKKN : j@@А!cHPPN : }QN : @@@M@@yU @@C.@@zXXN : V@@hL@@{\\N : E @@@_N : :@ W [fold ~ok ~error r] is [ok v] if [r] is [Ok v] and [error e] if [r] is [Error e]. lO  mP  @@@@@@@O@@@@@@@@@|'retract"R  R  @б@г&resultR  R  @А!a@B@3@>@AR  R  @@А!a R  R  @@@@@@R  @@А!aR  R  @@@ @@ @@@R  @ C [retract r] is [v] if [r] is [Ok v] or [Error v]. @since 5.4 S  U 9 J@@@@@@@P@@@ؐ@@@@@@:$iter#W L PW L T@б@б@А!a@B@3@Ql6@AW L XW L Z@@г$unitW L ^W L b@@ @@@@@@@@@@б@г&result W L p W L v@А!a)$ W L h W L j@@А!e@B@0 W L l W L n@@@; @@@8 "W L g@@гנ$unit *W L z +W L ~@@ @@@F@@@@@I@@@:@@L 6W L W @@@ 9W L L@ : [iter f r] is [f v] if [r] is [Ok v] and [()] otherwise.  FX   GX  @@@@@@@ _Q@@@ Z@@@@@@l*iter_error$ ]Z   ^Z  @б@б@А!e@B@3 h g g h h h h h@6@A nZ   oZ  @@г $$unit wZ   xZ  @@ @@@@@@@@@@б@г&result Z   Z  @А!a@B@) Z   Z  @@А!e50 Z   Z  @@@<@@@8 Z  @@г Y$unit Z   Z  @@ @@@F@@@@@I@@@:@@L Z   @@@ Z  @ C [iter_error f r] is [f e] if [r] is [Error e] and [()] otherwise.  [   [ A@@@@@@@ R@@@ ܐ@@@@@@l  鐠 & {1:preds Predicates and comparisons}  ]CC ]Cn@@@@@@3        @~1@A%is_ok% _pt _py@б@г&result _p _p@А!a@B@  _p} _p@@А!e@B@, _p _p@@@! @@@4 _p| @@г 㠐$bool %_p &_p@@ @@@B@@@@@E@@@ 0_pp @x 3 [is_ok r] is [true] if and only if [r] is [Ok _].  =` >`@@@@@@@ VS@@@ Q@@@@@@d(is_error& Tb Ub@б@г&result _b `b@А!a@B@3 g f f g g g g g@~>@A mb nb@@А!e@B@ yb zb@@@# @@@ b"@@г G$bool b b@@ @@@$@@@@@'@@@ b @ܐ 9 [is_error r] is [true] if and only if [r] is [Error _].  c c3@@@@@@@ T@@@ @@@@@@F%equal' e59 e5>@б"okб@А!a@B@3        @_z8@A fAG fAI@@б@А!a  fAM fAO@@г $bool fAS fAW@@ @@@@@@!@@@@@$@@ @@б%errorб@А!e@B@. fAc fAe@@б@А!e 6 fAi fAk@@г Ơ$bool fAo fAs@@ @@@E@@@@@H@@@"@@K @@б@г &result fA fA@А!a`[ $fAy %fA{@@А!e9b +fA} ,fA@@@m@@@@j 3fAx@@б@г &result =g >g@А!a{ Dg Eg@@А!eY Kg Lg@@@`@@@ Sg@@г $bool [g \g@@ @@@@@@@@@@@9@@4 @@X@@ jfA\@@@@ nfAC@@@ qe55@ [equal ~ok ~error r0 r1] tests equality of [r0] and [r1] using [ok] and [error] to respectively compare values wrapped by [Ok _] and [Error _].  ~h j2C@@@@@@@ U@@&@  @@@@@@'compare( lEI lEP@б"okб@А!a@B@3        @8@A mSY mS[@@б@А!a  mS_ mSa@@г #int mSe mSh@@ @@@@@@!@@@@@$@@ @@б%errorб@А!e@B@. mSt mSv@@б@А!e 6 mSz mS|@@г #int mS mS@@ @@@E@@@@@H@@@"@@K @@б@г &result mS mS@А!a`[ mS mS@@А!e9b mS mS@@@m@@@@j mS@@б@г &result n n@А!a{ !n "n@@А!eY (n )n@@@`@@@ 0n@@г #int 8n 9n@@ @@@@@@@@@@@9@@4 @@X@@ GmSm@@@@ KmSU@@@ NlEE@ [compare ~ok ~error r0 r1] totally orders [r0] and [r1] using [ok] and [error] to respectively compare values wrapped by [Ok _ ] and [Error _]. [Ok _] values are smaller than [Error _] values.  [o \qL@@@@@@@ tV@@&@  o@@@@@@ } |8 {1:convert Converting}  ys zs@@@@@@3 x w w x x x x x@1@A)to_option) u u@б@г &result u u@А!a@B@  u u@@А!e@B@, u u@@@! @@@4 u @@г &option u u@А!a(C u u@@@.@@@J @@@@@M@@@ u@  \ [to_option r] is [r] as an option, mapping [Ok v] to [Some v] and [Error _] to [None].  v w2@@@@@@@ W@@#@ # 쐠@@@@@@l'to_list* y48 y4?@б@г &result y4K y4Q@А!a@B@3        @>@A y4C y4E@@А!e@B@ y4G y4I@@@# @@@ y4B"@@г $list $y4X %y4\@А!a*% +y4U ,y4W@@@0@@@, @@@@@/@@@ 7y44@  ; [to_list r] is [[v]] if [r] is [Ok v] and [[]] otherwise.  Dz]] Ez]@@@@@@@ ]X@@#@  X@@@@@@N&to_seqj [| \|@б@г &result f| g|@А!a@ -B@3 n m m n n n n n@m>@A t| u|@@А!e@ /B@ | |@@@# @@@ |"@@г #Seq!t | |@  | |@@А!a3. | |@@@9@@@ *5@@@'@@ +8"@@@ |@ { [to_seq r] is [r] as a sequence. [Ok v] is the singleton sequence containing [v] and [Error _] is the empty sequence.  } ~H@@@@@@@ Y@@$@  ͐@@@@@@W  ڐ3 {1:syntax Syntax}  JJ Jb@@@@@@3        @i1@A&SyntaxoB  @ ^@@Б$let*k  @б@г &result  @А!a@ @C@ 03@0@A  @@А!e@ DC@ 1 @@@" @@@ 4!@@б@б@А!a#()@@г &result12@А!b@ BC@ 53=>@@А!e2:DE@@@9@@@ 8BL@@@K @@ 9F(@@г &resultWX@А!b&T^ _ @@А!eS[e f@@@3Z@@@ <cm@@@# @@ =gq@@@[@@ >kV@@@w @ ? [( let* )] is {!Result.bind}. >@@@@@@@Z@@0@ @@@@@@$and*l@F@N@б@г .&result@Z@`@А!a@ UC@ E3@>@A@R@T@@А!e@ YC@ F@V@X@@@# @@@ I@Q"@@б@г Z&result@m@s@А!b@ WC@ J,@e@g@@А!e*3@i@k@@@1@@@ M;@d@@г }&result@@@В@А!aSN@x@z@@@А!b/V@} @@@@@b@8@@ N_@@А!e[d@@@@@*b@@@ Ql@w)@@@: @@ Rp5,@@@b@@ Ss]/@@@'@B2@ o " [( and* )] is {!Result.product}. 45@@@@@@@M[@@B@ H@@@@@@$let+mKL@б@г &resultVW@А!a@ gC@ Z3^]]^^^^^@>@Ade@@А!e@ kC@ [pq@@@# @@@ ^x"@@б@б@А!a$@@А!b@ iC@ _*@@@4 @@ `/@@г &result@А!b=@@А!e;D@@@%B@@@ cL@@@# @@ dP@@@C@@ eT>@@@ @> [( let+ )] is {!Result.map}. @@@@@@@\@@0@ِ@@@@@@s$and+n & .@б@гo&result : @@А!a@ |C@ l3@>@A 2 4@@А!e@ C@ m 6 8@@@# @@@ p  1"@@б@г&result M S@А!b@ ~C@ q, E  G@@А!e*3& I' K@@@1@@@ t;. D@@г&result6 e7 k@В@А!aSNA XB Z@@@А!b/VI ]J _@@@@b@8@@ u_@@А!e[dW aX c@@@*b@@@ xl_ W)@@@: @@ yp5,@@@b@@ zs]/@@@h "2@ " [( and+ )] is {!Result.product}. ulnvl@@@@@@@]@@B@@@@@@@@@c@C@&@@3@(@A @@ J Binding operators. See manual section 12.23 for details. @since 5.4 dd@@@@@@@@ʰ@@A@b'@ @  c@ C @  @  P@ 0 @  L@ , @  2@  @ d@c@C @@m @@z8@]@=@O@@}*@@IDC@CC@@@C@C@@@@@3@ @r@R@5@@@L@A@ H************************************************************************A@@A@L@ H BMMBM@ H OCaml CC@ H DD3@ H The OCaml programmers  E44 E4@ H FF@ H Copyright 2018 Institut National de Recherche en Informatique et GG@ H en Automatique. HHg@ H !Ihh"Ih@ H All rights reserved. This file is distributed under the terms of 'J(J@ H the GNU Lesser General Public License version 2.1, with the -K.KN@ H special exception on linking described in the file LICENSE. 3LOO4LO@ H 9M:M@ H************************************************************************?N@N5@ * Result values. Result values handle computation results and errors in an explicit and declarative manner without resorting to exceptions. @since 4.08 E6* {1:results Results}  !*KY:LY>@ K* The type for result values. Either a value [Ok v] or an error [Error e]. 4* [ok v] is [Ok v]. Ġ:* [error e] is [Error e]. j F* [value r ~default] is [v] if [r] is [Ok v] and [default] otherwise.  l* [get_ok r] is [v] if [r] is [Ok v] and raise otherwise. @raise Invalid_argument if [r] is [Error _].  ~* [get_ok'] is like {!get_ok} but in case of error uses the error message for raising [Invalid_argument]. @since 5.4  L o* [get_error r] is [e] if [r] is [Error e] and raise otherwise. @raise Invalid_argument if [r] is [Ok _].  o* [error_to_failure r] is [v] if [r] is [Ok v] and raises [Failure e] if [r] is [Error e]. @since 5.4  D* [bind r f] is [f v] if [r] is [Ok v] and [r] if [r] is [Error _].  D* [join rr] is [r] if [rr] is [Ok r] and [rr] if [rr] is [Error _].  f H* [map f r] is [Ok (f v)] if [r] is [Ok v] and [r] if [r] is [Error _].  ؠ * [product r0 r1] is [Ok (v0, v1)] if [r0] is [Ok v0] and [r1] is [Ok v2] and otherwise returns the error of [r0], if any, or the error of [r1]. @since 5.4  + U* [map_error f r] is [Error (f e)] if [r] is [Error e] and [r] if [r] is [Ok _].  X* [fold ~ok ~error r] is [ok v] if [r] is [Ok v] and [error e] if [r] is [Error e].  D* [retract r] is [v] if [r] is [Ok v] or [Error v]. @since 5.4  ;* [iter f r] is [f v] if [r] is [Ok v] and [()] otherwise. 8 D* [iter_error f r] is [f e] if [r] is [Error e] and [()] otherwise.  '* {1:preds Predicates and comparisons}  4* [is_ok r] is [true] if and only if [r] is [Ok _]. J :* [is_error r] is [true] if and only if [r] is [Error _]. 頠 * [equal ~ok ~error r0 r1] tests equality of [r0] and [r1] using [ok] and [error] to respectively compare values wrapped by [Ok _] and [Error _].  * [compare ~ok ~error r0 r1] totally orders [r0] and [r1] using [ok] and [error] to respectively compare values wrapped by [Ok _ ] and [Error _]. [Ok _] values are smaller than [Error _] values. 59* {1:convert Converting}  ]* [to_option r] is [r] as an option, mapping [Ok v] to [Some v] and [Error _] to [None].  <* [to_list r] is [[v]] if [r] is [Ok v] and [[]] otherwise. U |* [to_seq r] is [r] as a sequence. [Ok v] is the singleton sequence containing [v] and [Error _] is the empty sequence. 㠠4* {1:syntax Syntax} Ƞ K* Binding operators. See manual section 12.23 for details. @since 5.4  * [( let* )] is {!Result.bind}. ! #* [( and* )] is {!Result.product}. t?* [( let+ )] is {!Result.map}. 栠 #* [( and+ )] is {!Result.product}. 9@?)../ocamlc0-strict-sequence(-absname"-w5+a-4-9-41-42-44-45-48"-g+-warn-error"+A*-bin-annot)-nostdlib*-principal"-o2stdlib__Result.cmi"-c D/builds/workspace/precheck/flambda/false/label/ocaml-linux-32/stdlib @@0\s󎞂7W 33@@@8CamlinternalFormatBasics0%FU(Q/Tu&Stdlib0Lku]8_٠.Stdlib__Either0Vy`u~c à06 ]/J+Stdlib__Seq0nwzG&amg@06 ]/JA_C@@@   e@@V@n% + t    @  Og@X   f 8v@<@/xʐ@    ,X"p@@,6@(e1@`ưW@@P@@