$55.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@@@1 @@@@@@I^J^@@HD@@%value@C!a@B@@@@@@'default @@ @@@@@gaha@@fE@@#get@a!a@B@@@@@@@@@d::d:S@@~F@@$bind@y!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@@@@@@@@D@@@@@@@@@@@@\x]x /@@[K@@$iter@@!a@B@@@ $unitm@@@@@ @@@j@@@ @@n@@@ @@@@@|  |  @@L@@%blend@@!a@&B@@@@ @@ @@@@@@#@@@@@@!@@@@@@ @@@@@ @@"@@$@    @@@M@@'for_all @@!a@3B@'@@)$boolo@@@(@@*@@0@Ǡ@@@,@@.p@@@-@@/@@1@E  E  @@N@@&exists!@@!a@@B@4@@6+q@@@5@@7@@=@@@@9@@;9r@@@:@@<@@>@N  N  @@ O@@'is_none"@!a@HB@A@@@C@@EVs@@@D@@F@+Y  ,Y  @@*P@@'is_some#@%!a@PB@I@@@K@@Mst@@@L@@N@H\ * *I\ * I@@GQ@@%equal$@@!a@cB@Q@@U@ @@Su@@@R@@T@@V@@`@Y@@@X@@^@b @@@Z@@\v@@@[@@]@@_@@a@_  _  @@~R@@'compare%@@!a@vB@d@@h@ @@f#intw@@@e@@g@@i@@s@@@@k@@q@!@@@m@@ox@@@n@@p@@r@@t@c^^c^@@S@@)to_result&$none!e@B@w@@@!a@B@x@@@z@@~&Stdliby&result@@@}@@@@@iUUiU@@T@@'to_list'@ߠ!a@B@@@@@@$listz @@@@@@mm@@U@@&to_seqg@!a@ B@@@@@@ &Stdlib{#Seq!t@@@ @@ @'pTT(pTv@@&V@@ӱ&SyntaxlB@$let*h@'!a@ "C@ @@@ @@ @@@@ :!b@ $C@ @@@ @@ @@ E @@@ @@ @@ @]{wy^{w@@\W@@$and*i@W!a@ 3C@ %@@@ '@@ 0@f!b@ 5C@ (@@@ *@@ .q@@@@ +@@@ -@@ /@@ 1@~~@@X@@$let+j@!a@ CC@ 6@@@ 8@@ @@@@@ :!b@ EC@ 9@@ ;@@ > @@@ =@@ ?@@ A@CECx@@Y@@$and+k@!a@ TC@ F@@@ H@@ Q@à!b@ VC@ I@@@ K@@ OΠ@@@@ L@@@ N@@ P@@ R@@@Z@@@@ybb @[@@@@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!.@@@@@@@@@@@@-Y@(@@@ @@@@A@ @@+Option.none3$none$ is $None!.@@@@@@@@@@@@@@@@+Option.some3&some v$ is &Some v!.@@@@@@@@@@@@@  @@@@,Option.value30value o ~default$ is !v$ if !o$ is &Some v% and 'default+ otherwise.@@@@@@@@@@@@1@+2@%$@@@@$*Option.get3%get o$ is !v$ if !o$ is &Some v5 and raise otherwise.@@@@@@@@0Invalid_argument#if !o$ is $None!.@@@@@L@dM@@@@B+Option.bind3(bind o f$ is #f v$ if !o$ is &Some v% and $None$ if !o$ is $None!.@@@@@@@@@@@@j@k@_@@@@K+Option.join3'join oo$ is &Some v$ if "oo$ is -Some (Some v)% and $None+ otherwise.@@@@@@@@@@@@g@h@@@@S*Option.map3'map f o$ is $None$ if !o$ is $None% and *Some (f v)$ if !o$ is &Some v!.@@@@@@@@@@@@{@|@k@@@@a.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@;@@@@j+Option.fold32fold ~none ~some o$ is $none$ if !o$ is $None% and &some v$ if !o( is &Some v!.@@@@@@@@@@@@@@@w}@@@@x+Option.iter3(iter f o$ is #f v$ if !o$ is &Some v% and "()+ otherwise.@@@@@@@@@@@@@@@@@@z,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@@@@@@@@@@@@@@.Option.for_all3)for_all p. behaves like ,List.for_all@@! !p & on a list of zero or one element:.for_all p None$ is $true!,@2for_all p (Some v)$ is #p v!.@@@@@@#5.5@@@@@@@@<@?@@@@-Option.exists3(exists p. behaves like +List.exists@@! !p & on a list of zero or one element:-exists p None$ is %false!,@1exists p (Some v)$ is #p v!.@@@@@@#5.5@@@@@@@@{@~@@@@͠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!.@@@@@@@@@@@@@@@@@䠕,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!.@@@@@@@@@@@@@@@@@@@.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.@@@@@@@@@@@@@A@D@G@@@@A'convert*Converting@@0Option.to_result31to_result ~none o$ is $Ok v$ if !o$ is &Some v% and *Error none/ otherwise.@@@@@@@@@@@@@@} @@@@.Option.to_list3)to_list o$ is "[]$ if !o$ is $None% and #[v]$ if !o$ is &Some v!.@@@@@@@@@@@@@@@@@ -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@@@@@@@AO6Option.Syntax.( let* )3(( let* )$ is D@!.@@@@@@@@@@@@-@ .@"@@@@6Option.Syntax.( and* )3(( and* )$ is D@!.@@@@@@@@@@@@@&@) @@@@2Option.Syntax.let+3(( let+ )$ is nD@!.@@@@@@@@@@@@@A@D@@@@砕2Option.Syntax.and+3(( and+ )$ is PD@!.@@@@@@@@@@@@@\@_@@@@@@@@@@@@@@@A#Seq@@@@@