j55.5.0+dev0-2025-04-28/&Option!tA;!a@@A$None@@7../../stdlib/option.mliXX@@&OptionA@$SomeB@@@XX @@ B@@@A&optionL%B@@@@Y@@@@@X@@@@@@A@$none!a@B@@@@@1[ZZ2[Zn@@0C@@$some@!a@B@/ @@@@@@G^H^@@FD@@%value@?!a@B@@@@'default  @@@@@aaba@@`E@@#get@Y!a@B@@@@@@@wd::xd:S@@vF@@$bind@o!a@B@@@@@@ ~!b@B@@@@@@ @@@@@@@@ii@@G@@$join@!a@B@@@@@@@ @@@@@@lEElEm@@H@@#map@@!a@B@!b@B@@@@ɠ@@@Π@@@@@@@@oo@@I@@'product@ޠ!a@ B@@@@@!b@ B@@@@@@@@@@@@@@@ @r>>r>v@@J@@$fold$none!a@B@$some@!b@B@@@@" @@@@@@@@@@:x;x /@@9K@@$iter@@!a@#B@$unitk@@@@@@B@@@ l@@@@@ @@!@_|  `|  @@^L@@%blend@@!a@1B@$@@@%@@&@c@@@(@j@@@*o@@@,@@-@@.@@/@    @@@M@@'is_none @!a@8B@2@@@4$boolm@@@5@@6@G  G  -@@N@@'is_some!@!a@?B@9@@@;n@@@<@@=@J j jJ j @@O@@%equal"@@!a@MB@@@6o@@@A@@B@@C@Ǡ@@@E@Π@@@GIp@@@H@@I@@J@@K@M  M  @@P@@'compare#@@!a@[B@N@#intq@@@O@@P@@Q@@@@S@@@@Ur@@@V@@W@@X@@Y@Q  Q  @@Q@@)to_result$$none!e@hB@\@!a@fB@]@@@_&Stdlibs&result@@@b@@c@@d@CW  DW  @@BR@@'to_list%@;!a@pB@i@@@k$listt @@@m@@n@`[&&a[&H@@_S@@&to_seqe@X!a@ B@q@@@s&Stdlibu#Seq!t@@@ @@ @^^@@T@@ӱ&SyntaxjB@$let*f@!a@ C@ @@@ @@ !b@ C@ @@@ @@  @@@ @@ @@ @ii@@U@@$and*g@!a@ C@ @@@ @!b@ C@ @@@ @@@@ @@@ @@ @@ @llW@@V@@$let+h@נ!a@ C@ @@@ @@ !b@ C@ @@  @@@ @@ @@ @oo@@W@@$and+i@!a@ C@ @@@ @ !b@ C@ @@@ @@@@ @@@ @@ @@ @2r3r@@1X@@@@6g7tFI@5Y@@@@3.Option values.@ J Option values explicitly indicate the presence or absence of a value.@@@@$4.08@@@@@@@A7../../stdlib/option.mliA'options'Options@@#(Option.t3 #The type for option values. Either $None, or a value &Some v!.@@@@@@@@@@@@sY@n@@@fe@@@@A`@Wf@@+Option.none3$none$ is $None!.@@@@@@@@@@@@c@@@@Z+Option.some3&some v$ is &Some v!.@@@@@@@@@@@@d@ f@@@@],Option.value30value o ~default$ is !v$ if !o$ is &Some v% and 'default+ otherwise.@@@@@@@@@@@@y@+z@oy@@@@p*Option.get3%get o$ is !v$ if !o$ is &Some v5 and raise otherwise.@@@@@@@@0Invalid_argument#if !o$ is $None!.@@@@@@d@@@@+Option.bind3(bind o f$ is #f v$ if !o$ is &Some v% and $None$ if !o$ is $None!.@@@@@@@@@@@@@@@@@@+Option.join3'join oo$ is &Some v$ if "oo$ is -Some (Some v)% and $None+ otherwise.@@@@@@@@@@@@@@@@@*Option.map3'map f o$ is $None$ if !o$ is $None% and *Some (f v)$ if !o$ is &Some v!.@@@@@@@@@@@@@@@@@@.Option.product3-product o0 o1$ is -Some (v0, v1)$ if "o0$ is 'Some v0% and "o1$ is +Some v1% and $None+ otherwise.@@@@#5.5@@@@@@@@8@;@@@@ʠ+Option.fold32fold ~none ~some o$ is $none$ if !o$ is $None% and &some v$ if !o( is &Some v!.@@@@@@@@@@@@@@@w@@@@ࠕ+Option.iter3(iter f o$ is #f v$ if !o$ is &Some v% and "()+ otherwise.@@@@@@@@@@@@@@@@@@蠕,Option.blend3-blend f o1 o2$ is "o1$ if "o2$ is $None", "o2$ if "o1$ is $None*, and .Some (f v1 v2)$ if "o1$ is 'Some v1% and "o2$ is 'Some v2!.@@@@#5.5@@@@@@@0@1@(@$@@@@A%preds:Predicates and comparisons@@.Option.is_none3)is_none o$ is $true0 if and only if !o$ is $None!.@@@@@@@@@@@@;@-<@@@@-.Option.is_some3)is_some o$ is $true0 if and only if !o$ is &Some o!.@@@@@@@@@@@@C@QD@@@@6,Option.equal3.equal eq o0 o1$ is $true0 if and only if "o0% and "o1* are both $None4 or if they are 'Some v0% and 'Some v1% and (eq v0 v1$ is $true!.@@@@@@@@@@@@j@k@]@Y@@@@Q.Option.compare31compare cmp o0 o1 # is a total order on options using #cmp " to compare values wrapped by &Some _". $None1 is smaller than &Some _( values.@@@@@@@@@@@@m@n@_@[@@@@SA'convert*Converting@@0Option.to_result31to_result ~none o$ is $Ok v$ if !o$ is &Some v% and *Error none/ otherwise.@@@@@@@@@@@@x@xw@r@@@@_.Option.to_list3)to_list o$ is "[]$ if !o$ is $None% and #[v]$ if !o$ is &Some v!.@@@@@@@@@@@@@5@@@@x-Option.to_seq3(to_seq o$ is !o0 as a sequence. $None? is the empty sequence and &Some v & is the singleton sequence containing !v!.@@@@@@@@@@@@@_@@@@A&syntax&Syntax@@/-Option.Syntax3 8Binding operators. See manual section 12.23 for details.@@@@#5.5@@@@@@@Aѐ6Option.Syntax.( let* )3(( let* )$ is D@!.@@@@@@@@@@@@@@@@@@6Option.Syntax.( and* )3(( and* )$ is D@!.@@@@@@@@@@@@@@@@@@o2Option.Syntax.let+3(( let+ )$ is D@!.@@@@@@@@@@@@y@z@p@@@@e2Option.Syntax.and+3(( and+ )$ is ҐD@!.@@@@@@@@@@@@o@p@f@@@@R@@PO@@@@@@@E@@A#Seq@@@@@