Caml1999I037Z`B@*IncludemodӠ%Error^@$diffz;#elt@+explanation@@B#got@@5typing/includemod.mliXX@@ E@(expected@@ Y Y@@(F@'symptom@@ZZ@@0G@@@A@YY@@@@@@W[@@@@8D@A@)core_diff{;#elt@@A@A> $unitF@@@@@@Y@@@@@7\8\@@@@VH@A@1functor_arg_descr|;@@)Anonymous@@F_;?G_;J@@eJ@%Named$Path!t@@@@@X`KOY`K`@@wK@$Unit@@aaaebaak@@L@,Empty_struct@@jblpkbl~@@M@@@A@@@@@n^ "@@@@I@A@4core_sigitem_symptom};@@2Value_descriptionsT%Types1value_description@@@+Includecore.value_mismatch@@@@@@@@gh1s@@O@1Type_declarationss0type_declaration@@@-type_mismatch@@@@@@@@itxj@@P@6Extension_constructors :5extension_constructor@@@8>extension_constructor_mismatch@@@@@@@@kmO@@Q@7Class_type_declarations!U6class_type_declaration@@@$listK%Ctype3class_match_failure@@@@@@@@@@@nPToq@@ S@2Class_declarations͠y1class_declaration@@@$"3class_match_failure@@@@@@@@@@@ p q@@+T@@@A@@@@@f@@@@.N@A@8core_module_type_symptom~;@@,Not_an_alias@@tCGtCU@@=V@1Not_an_identifier@@'uVZ(uVm@@FW@4Incompatible_aliases@@0vnr1vn@@OX@4Abstract_module_type@@9w:w@@XY@3Unbound_module_path!t@@@@@IxJx@@hZ@@@A@@@@@Ms!#@@@@kU@A@3module_type_symptom;@@'Mt_coreʐJ@@@@@`{a{ @@e@)Signatureː1signature_symptom@@@@@p|  q|  4@@f@'Functor̐/functor_symptom@@@@@} 5 9} 5 U@@g@5After_alias_expansion͐0module_type_diff@@@@@~ V Z~ V @@h@@@A@@@@@z@@@@[@A@ ;@@@As+module_type@@@W@@@@@@@@@@A  A  @@@@\@B@4;@@&Paramsΐ3functor_params_diff@@@@@D  D  @@i@&Resultϐ?@@@@@E  E  ,@@j@@@A@@@@@C  @@@@]@B@5functor_param_symptom;#arg@$path@@B3Incompatible_paramsАj1functor_parameter@@@@@H Y ]H Y @@k@(Mismatchѐp@@@@@I  I  @@l@@@A@YH@@@@@@G . 0@@@@#^@B@9arg_functor_param_symptom;@@@A=1functor_parameter@@@%Ident!t@@@@@@@@@@#K  $L  @@@@B_@B@m;@@@A3functor_params_info@@@ @@@ @@@@7N  8O 5 V@@@@V`@B@ ;@@¶ms@@g1functor_parameter@@@ @@@ NQ t {OQ t @@mm@#res@@+module_type@@@ [Q t \Q t @@zn@@@A@@@@@_P W Z`Q t @@@@~a@B@;@@#env@@#Env!t@@@sT  tT  @@r@(missings@@.signature_item@@@@@@U  U  @@s@-incompatibles@@@|!t@@@@/sigitem_symptom@@@@@@@@V  V  8@@t@#oks@@Ѡ@#intA@@@@)Typedtree/module_coercion@@@@@@@@W 9 =W 9 i@@u@)leftovers@@@V.signature_item@@@@@@@@/@@@@@@@@X j nX j @@v@@@A@@@@@S  Z  @@@@ b@B@R;@@$Core@@@"@@\  \  5@@w@7Module_type_declaration3modtype_declaration@@@ ?module_type_declaration_symptom@@@@@@!@@] 6 :^ W @@9x@+Module_type@@@@@'_  (_  @@Fy@@@A@@@@@+[  @@@@Ic@B@;@@3Illegal_permutation{/module_coercion@@@'@@>b  ?b &@@]z@0Not_greater_than@@@&@@Kc'+Lc'Q@@j{@-Not_less_than@@@%@@XdRVYdRy@@w|@,Incomparable)less_than@@@@@$hfif@@}@,greater_than@@@@@#sftf@@~@@@wez~xf@@@@@A@@@@@{a  @@@@d@B@#all;@@3In_Compilation_unita&stringQ@@@2*@@@1@@@3@@jj!@@G@,In_Signature8@@@0@@k"&k"I@@H@.In_Module_type%@@@/@@lJNlJr@@I@;In_Module_type_substitution!t@@@.F+module_type@@@,@@@+@@@-@@mswn@@J@3In_Type_declaration!t@@@*@@@)@@oo@@K@,In_Expansion@@@(@@p#pM@@L@@@A@@@@@i@@@@F@A@@@UqNQ@M@@@+explanation_;@@@A@!t@@@5@,#all@@@4@@6@@@@rRRrRv@@@@5N@A@*field_kind`;@@+Field_value@@%v&v@@DQ@*Field_type@@.w/w@@MR@/Field_exception@@7x8x@@VS@,Field_typext@@@yAy@@_T@,Field_module@@Iz Jz@@hU@-Field_modtype@@R{S{)@@qV@+Field_class@@[|*,\|*9@@zW@/Field_classtype@@d}:<e}:M@@X@@@A@@@@@hu@@A@P@A@*field_desca;@@$name@@@@@8yOczOp@@Z@$kind@@h@@@7OqO@@[@@@A@@@@@OOO@@@@Y@A@2kind_of_field_descb@*@@@9 @@@:@@;@@@\@@*field_descc@&@@@<@!t@@@=@@@>@@?@@@@@@]@@Ӡ(FieldMapd@#key;@@@A2@@@@@@@vv@@@@^@A@!t;!a@@A@A@I@B@@@'map.mliI V ZI V e@@@@+Stdlib__MapD@A@%empty!a@@@@@L  L  @@E@@#add@;@@@@!a@@  @@@$ @@@@@@@@@@3O  4O  @@2F@@+add_to_list@@@@@!a@@>$listK@@@@@@I @@@@@@@@@@@@@]X  ^X  @@\G@@&update@I@@@@@&optionL!a@@@@  @@@@@@v@@@z@@@@@@@@@@^^@@H@@)singleton@u@@@@!a@@@@@@@@@jW[jW{@@I@@&remove@@@@@!a@@@@@@@@@@@@oo@@J@@%merge@@@@@@`!a@@@@@k!b@@@@t!c@@@@@@@@@@@@@@@@@@@@@@@@@@@@vY]x@@K@@%union@@@@@@!a@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@)fj*f@@(L@@(cardinal@)!a@@@@#intA@@@@@@BC@@AM@@(bindings@B!a@@@@ @>@@@㠠@@@@@@@@@c8<d8a@@bN@@+min_binding@c!a@@@@@[@@@頠@@@@@@bfb@@~O@@/min_binding_opt@!a@@@@#@{@@@@@@@@@@@@JNJ|@@P@@+max_binding@!a@@@@@@@@@@@@@@484[@@Q@@/max_binding_opt@!a@@@@`@@@@@@@@@@@@@ @@R@@&choose@ݠ!a@@@@@@@@@@@@@@@@S@@*choose_opt@!a@@@@@@@@@@@@@@@@@@@T@@$find@@@@@!a@ @@@ @@ @@ @23@@1U@@(find_opt@@@@ @7!a@@@@۠ @@@@@@@@OIMPIs@@NV@@*find_first@@=@@@$boolE@@@@@@\!a@@@@@T@@@@@@@@@@@x  y  D@@wW@@.find_first_opt@@f@@@)@@@@@@!a@ @@@'@@@@!@@@"@@@#@@$@@%@"*"."*"l@@X@@)find_last@@@@@&U@@@'@@(@!a@*@@@)@@@@+@@@,@@-@@.@#_#c#_#@@Y@@-find_last_opt@@@@@/|@@@0@@1@֠!a@3@@@2z@@@@4@@@5@@@6@@7@@8@$y$}$y$@@Z@@$iter@@@@@9@!a@=$unitF@@@:@@;@@<@ @@@> @@@?@@@@@A@%%%& @@[@@$fold@@ @@@B@!a@F@#acc@H@@C@@D@@E@0@@@G@  @@I@@J@@K@A'%')B'3'l@@@\@@#map@@!a@M!b@O@@L@M @@@NQ @@@P@@Q@@R@`(e(ia(e(@@_]@@$mapi@@N@@@S@!a@V!b@X@@T@@U@q @@@Wu @@@Y@@Z@@[@))))@@^@@&filter@@r@@@\@!a@a;@@@]@@^@@_@ @@@`@@@b@@c@@d@****@@_@@*filter_map@@@@@e@!a@iO!b@k@@@f@@g@@h@@@@j @@@l@@m@@n@ ,, ,,?@@`@@)partition@@@@@o@!a@u@@@p@@q@@r@ @@@s@@@@v@@@@t@@w@@x@@y@.../%@@a@@%split@@@@z@!a@~@@@{@ @@@@@@@}@@@@|@@@@@@@,$0'0+-$0'0\@@+b@@(is_empty@,!a@@@@@@@@@@C022!D022;@@Bc@@#mem@/@@@@H!a@@@@@@@@@@@@_32l2p`32l2@@^d@@%equal@@!a@@@@@@@@@@m@@@@s@@@#@@@@@@@@@@722723-@@e@@'compare@@!a@@]@@@@@@@@@@@@@@@m@@@@@@@@@@=4(4,=4(4a@@f@@'for_all@@@@@@!a@d@@@@@@@@ @@@n@@@@@@@@A45A450@@g@@&exists@@@@@@!a@@@@@@@@@ @@@@@@@@@@@F55F55@@h@@'to_list@!a@@@@@@@@@@@@@@@@@M6~6M6~6@@i@@'of_list@ՠ@ @@@@!a@@@@@@(@@@@@@7Q668Q67@@6j@@&to_seq@7!a@@@@&Stdlib#Seq!t@9@@@@@@@@@@@@^W77_W77@@]k@@*to_rev_seq@^!a@@@@'#Seq!t@]@@@Ǡ@@@@@@@@@[8A8E[8A8n@@l@@+to_seq_from@n@@@@!a@@@@P#Seq!t@@@@Π@@@@@@@@@@@_88_88@@m@@'add_seq@l#Seq!t@@@@Ӡ@!a@@@@@@@  @@@Ơ@@@@@@@@d99d99@@n@@&of_seq@#Seq!t@@@@۠@!a@@@@@@@@@@@@h::h::>@@o@@@@ vv@ _@@@/item_ident_namee@ a.signature_item@@@A@!t@@@D@(Location!t@@@C@i@@@B@@E@@F@  @@ `@@4is_runtime_componentf@ .signature_item@@@G$boolE@@@H@@I@  .@@ 6a@@(modtypesg#loc1!t@@@J@!t@@@K$mark%@@@L@+module_type@@@M@+module_type@@@N/module_coercion@@@O@@P@@Q@@R@@S@@T@ NEE O}@@ mb@@4modtypes_consistencyh#loch!t@@@U@!t@@@V@ $+module_type@@@W@ ++module_type@@@X I@@@Y@@Z@@[@@\@@]@ { |@@ c@@3modtypes_constrainti%shape%Shape!t@@@^#loc!t@@@_@ 1!t@@@`$mark@@@a@ e+module_type@@@b@ l+module_type@@@c@t/module_coercion@@@e@;!t@@@d@@f@@g@@h@@i@@j@@k@@l@  h@@ d@@8strengthened_module_declj#loc!t@@@m)aliasable@@@n@ {!t@@@o$mark@@@p@ 2module_declaration@@@q@ !t@@@r@ 2module_declaration@@@s/module_coercion@@@t@@u@@v@@w@@x@@y@@z@@{@  D@@ .e@@7check_modtype_inclusionk#loc)!t@@@|@ !t@@@}@ +module_type@@@~@ !t@@@@ +module_type@@@&optionLL@@@@@@@@@@@@@@@@@ MFF N@@ lf@@3check_modtype_equivl#locg!t@@@@ !t@@@@ P!t@@@@ ++module_type@@@@ 2+module_type@@@ P@@@@@@@@@@@@@@  @@ g@@*signaturesm@ "!t@@@$mark@@@@ V)signature@@@@ ])signature@@@a/module_coercion@@@@@@@@@@@@     Y@@ h@@4check_implementationn@ N!t@@@@ z)signature@@@@ )signature@@@ @@@@@@@@@@  @@ i@@(compunito@ q!t@@@$mark@@@@ _@@@@ )signature@@@@ l@@@@ )signature@@@@~!t@@@@/module_coercion@@@@!t@@@@@@@@@@@@@@@@@@@@  T@@ <j@@1type_declarationsp#loc7!t@@@@ !t@@@$mark+@@@@ (!t@@@@ 0type_declaration@@@@ 0type_declaration@@@ (@@@@@@@@@@@@@@@@ ZVV [@@ yk@@.print_coercionq@&Stdlib&Format)formatter@@@@)/module_coercion@@@ H@@@@@@@@ z {@@ l@@'symptomr;@@-Missing_field; p!t@@@!t@@@ @@@@@ "& "T@@ n@2Value_descriptions< !t@@@ f1value_description@@@ l1value_description@@@ 0.value_mismatch@@@@@ `b @@ o@1Type_declarations= !t@@@ 0type_declaration@@@ 0type_declaration@@@ߠ S-type_mismatch@@@@@  =@@p@6Extension_constructors> !t@@@ݠ 5extension_constructor@@@ܠ 5extension_constructor@@@۠ v>extension_constructor_mismatch@@@@@>@|@@$q@,Module_types? +module_type@@@٠ +module_type@@@@@@@9r@-Modtype_infos@ !t@@@נ 3modtype_declaration@@@֠ 3modtype_declaration@@@@@67?@@Us@3Modtype_permutationA +module_type@@@Ԡ /module_coercion@@@@@M@BN@@@lt@2Interface_mismatchB @@@Ҡ @@@@@`a@@u@7Class_type_declarationsC P!t@@@Р *6class_type_declaration@@@Ϡ 06class_type_declaration@@@Π  3class_match_failure@@@@@@@@8@@v@2Class_declarationsD x!t@@@ˠ R1class_declaration@@@ʠ X1class_declaration@@@ɠ ɠ 3class_match_failure@@@@@@@@9;@@w@3Unbound_module_pathEj!t@@@@@@@x@@@A@@@@@@@@@m@A@#poss;@@&Modulec !t@@@@@@@z@'Modtyped !t@@@@@ @@{@#Arge 1functor_parameter@@@@@    '@@|@$Bodyf 1functor_parameter@@@@@ ( * ( E@@&}@@@A@@@@@ @@@@)y@A@ %Errort##exnG@@@@@@A&_none_@@A@:~@B@0application_nameu;@@1Anonymous_functori@@*  +  @@I@5Full_application_pathj)Longident!t@@@@@<  =  @@[@6Named_leftmost_functorq!t@@@@@L!!M!!/@@k@@@A@@@@@P g g@@@@n@A@ +Apply_errorv#E@#locs@@j!t@@@c!k!od!k!@@@#envt@@ !t@@@q!!r!!@@@(app_nameu@@[@@@}!!~!!@@@%mty_fv@@ >+module_type@@@!!!!@@@$argsw@@@ 1functor_arg_descr@@@@!+module_type@@@@@@@@!!!"@@@@@A@@B@3expand_module_aliasw*strengthen@@@@ Q!t@@@@t!t@@@J+module_type@@@@@@@@@@""""f@@@@Ӡ6Functor_inclusion_diffx@Ӡ$Defs@$left;@@@Ag1functor_parameter@@@@@@@""""@@@@ @A@%right;@@@A@@@@@@@""""@@@@@A@"eq;@@@A J/module_coercion@@@@@@@ """#@@@@,@A@$diff;@@@A 5functor_param_symptom1functor_parameter@@@@@@@@@@@@@)##*##O@@@@H@A@%state;@@@A@@@@@3#P#T4#P#^@@@@R@A@@@7""8#_#d@V@@@$diff@ !t@@@@@r1functor_parameter@@@@@@@+module_type@@@@@@@1functor_parameter@@@@@@@+module_type@@@@@'Diffing&Define%patch@@@@@@@@@@#e#g#$@@@@@@"h"h$ $ @@@@Ӡ0Functor_app_diffy@Ӡ$Defs@$left;@@@A@ 1functor_arg_descr@@@t@,+module_type@@@s@@u@@@@$>$B$>$y@@@@@A@%right;@@@A=1functor_parameter@@@v@@@@$z$~$z$@@@@@A@"eq;@@@A/module_coercion@@@w@@@@$$$$@@@@@A@$diff;@@@A 5functor_param_symptom 1functor_arg_descr@@@y@@@x@@@z@@@@$$$%@@@@@A@%state;@@@A@@@@@%%%%%@@@@@A@@@$+$-%&%+@@@@$diff@!t@@@{!f+module_type@@@|$args@@ 1functor_arg_descr@@@~@+module_type@@@}@@@@@&Define%patch@@@@@@@@@@<%,%.= %%@@[@@@@@$$A %%@_@@@@ ٠*Includemod0wXlSV1E(Warnings0mJɒkgrs-Stdlib__Uchar056uf4[_+Stdlib__Sys0 -ռ鱦s5/.Stdlib__String0*%"e+Outcometree0euWS~d栠$Misc0[@@Pc+zD)Longident0s `7mɕc(Location0a7cK_H%9)Load_path0I@18 ~+Includecore0"fTeБtPH,Identifiable0 {d\FX'`%Ident0">WA+9*X*Format_doc0]mWϓ:Mݠ*Errortrace0>"+$? QNL(1R#Env0H/]0K+G1Diffing_with_keys0%h8Lc\5'Diffing0ɞyM۠*Data_types0I'Ue`wq]Ѡ%Ctype0}/p[Q9sQՅlՠ*Cmi_format0Aڙ% C<0CamlinternalLazy0&͂7 Pˆ8CamlinternalFormatBasics0%FU(Q/Tu5Build_path_prefix_map0z HkGs%Btype0sYTjx꤮(Asttypes0>n{T8cئ@@@Caml1999T037Z*#C*Includemodࠐ)Typedtree)Typedtree5typing/includemod.mliRglRgu@@A3@@@@@@#intA;@@@A@@@@@&_none_@@A@A@$charB;@@A@@@@@@A@&stringQ;@@ A@@@@@ @@@%bytesC;@@A@@@@@@@@%floatD;@@A@@@@@@@@$boolE;@@%falsec@@@$trued@@#@@@A@@@@@$@A@$unitF;@@"()e@@.@@@A@@@@@/@A@ #exnG;@@@A@@@@@3@@@#effH;@@O@A@A@@@@@@<@@@,continuationI;@@Q@@P@B@A@nY@@@@@@K@@@%arrayJ;@@R@A@A@@@@@@U@@@ $listK;@@S@A"[]f@@b@"::g@@@T@@o@ @@A@Y@@@@@r@@@&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@@A54@)Not_foundZ#O@@@A =<@-Out_of_memoryW#W@@@AED@.Stack_overflow^#_@@@AML@.Sys_blocked_io_#g@@@A$U'T'@)Sys_error[#o@j@@A-^0]0@:Undefined_recursive_modulea#x@@w@s@u@@h@@A>oAnA@:Continuation_already_takenb#@@@AFwIvI@&Stdlib@A|Rgg{@@3zyyzzzzz@w@A}@ࠐ%Types%TypesSv{Sv@@A3@ @ASvv@@@%ErrorAUU@M@@БA+$diffBWW@А#elt@3@);@@@@@B@A@GG@BB@@@W[@@@@D@@AWW@@BAА+explanation@WW@@ @;& @B#got@@.C@XX@@E@(expected@@8C@YY@@F@'symptom@@$C@ZZ@@G@@@A@YY@@@@@@9@@@6@### X@@@Ш@А#elt)RX X@@.@@W@,@#((%Y@$@@Ш@А#elt.aYY@@3@@f@1@#--*Z@)@@Ш@А+explanation3p&Z1@@7@@t@5@@A@f@@3&%%&&&&&@@Agf@A+)core_diffC4\5\ @А#elt@3;::;;;;;@k;@@@A@A@@@@@@G@B@@@S\T\@@@@eH@@AW\X\@@@; @A@A(D@@@@@@@Y@@@@@@@@@@Aг$diffr\@А#elt9x\y\@@г$unit\\@@E@@@'F\2@@4@@3@G@A54@A+1functor_arg_descrD^ '^ 8@@;@@)Anonymous@@_;?_;J@@J@%Named$Path!t@@@a@@`KO`K`@@K@$Unit@@aaeaak@@L@,Empty_struct@@blpbl~@)ocaml.doc l For backward compatibility's sake, an empty struct can be implicitly converted to an unit module. cd@@@@@@@M@@@A@@@@@^ "@@@@I@@#AA_;A?@>@@@B@#>>`KQ`KV@3@г@$Path`KZ`K^@E`K_C@D@@N3@h;@@@A@@@@@%@@@#@A J@@@@L@#HHaagF@E@@@I@#EEblrC@2@@@FCِBA@AA@@@A@A@@A@=@@3        @@A>Q@A+4core_sigitem_symptomEff@@;@@2Value_descriptions1value_description@@@i+Includecore.value_mismatch@@@@@@@@9g:h1s@@KO@1Type_declarations0type_declaration@@@-type_mismatch@@@@@@@@UitxVj@@gP@6Extension_constructors 5extension_constructor@@@:>extension_constructor_mismatch@@@@@@@@qkrmO@@Q@7Class_type_declarations!֠6class_type_declaration@@@%Ctype3class_match_failure@@@@@@@@@ @@nPToq@@S@2Class_declarations 1class_declaration@@@ '#3class_match_failure@@@ @@@@@@@@pq@@T@@@A@@@@@f@@@@N@@#gg-@@г$diffh1o@г%Typesh1:h1?@h1@h1Q@@@3@QK;@@@A@@@@@(@@@&@A @@г+Includecoreh1Sh1^@h1_h1m@@@@@@h19@@@@@#itzit@@г$diffj@г%Types j j@Űjj@@@8@@гȠ+Includecorejj@ϰ!j"j@@@I@@@J&j@@@@@#Ϡϰ+k,k@@гѠ$diff5mK@гՠ%Types?l@l@ܰClDl@@@k@@гߠ+IncludecorePmQm*@Tm+UmI@@@|@@@}Yl@@@@@#^nPV_nPm@@г蠐$diffhoq@г젡%Typesroqzsoq@voqwoq@@@@@г$listoqoq@г%Ctypeoqoq@oqoq@@@ @@@ @@@oqy@@@@@#pp@@г$diffq@г%Typesqq@ qq@@@۰@@г$listqq@г%Ctypeqq@qq@@@$@@@) @@@5q@@@@ @@A@@@3@@A @A+8core_module_type_symptomFs!(s!@@@;@@,Not_an_alias@@tCGtCU@@V@1Not_an_identifier@@uVZuVm@@W@4Incompatible_aliases@@vnrvn@@ X@4Abstract_module_type@@ww@@Y@3Unbound_module_pathi!t@@@E@@xx@@&Z@@@A@@@@@s!#@@@@)U@@#88tCI6@5@@@9@#55%uV\3@2@@@6@#22+vnt0@/@@@3@#//1w-@,@@@0@#,,7x8x@#@г.$PathCxDx@5Gx3@4@@<3FEEFFFFF@o60q;@@@A@@@@@7@@@5@A :@@@@<@@A@8@@3LKKLLLLL@@A9<@A+3module_type_symptomGZz[z@@;@@'Mt_coreʐ@@@R@@i{j{ @@{e@)Signatureː1signature_symptomG@@@S@@y|  z|  4@@f@'Functor̐/functor_symptomG@@@T@@} 5 9} 5 U@@g@5After_alias_expansion͐0module_type_diffG@@@U@@~ V Z~ V @@h@@@A@@@@@z@@@@[@@#BB{{@;@гD8core_module_type_symptom{E@@K3@pe;@@@A@@@@@!@@@(;@@@A0@@@'8@M@@@@A  A  @@@@\@E;@@@A@@@@@C  E  ,@@@@]@5functor_param_symptomG;@@N@@O@B@A@GG@BB@@@G . 0I  @@@@^@9arg_functor_param_symptomG;@@@A @@@'9@P@@@@K  L  @@@@_@3functor_params_diffG;@@@A @@@':@Q@@@@N  O 5 V@@@@`@3functor_params_infoG;@@@A@@@@@P W ZQ t @@@@a@;@@@A@@@@@ S   Z  @@@@b@/sigitem_symptomG;@@@A@@@@@[  _  @@@@%c@?module_type_declaration_symptomG;@@@A@@@@@a  f@@@@-d@@Aq@@@@@##|  $|  @@г1signature_symptom-|  #@@@@@@@#3} 5 ;4} 5 B@@г/functor_symptom=} 5 F@@@@@@@#C~ V \D~ V q@@г0module_type_diffM~ V u@@@@@@@@A@@+SA  TA  @@;@@A+module_type@@@V@@@W@@@Z@@@@@@@@@Aг$diffnA  @г%TypesxA  yA  @|A  }A  @@@$а@@г3module_type_symptomA  A  @@'ڰ@@@3۰A  @@@+  C  C  @@;@@&Paramsΐ@@@[@@D  D  @@i@&Resultϐ@@@\@@E  @@j@@@A@@@@@@@@@#D  D  @@г3functor_params_diffD  @@% @@@@"@#E  E  @@г 0module_type_diffE  @@' @@@@$@@A@@+G . AG . V@А#arg@]/G . 5G . 9@@А$path@^:G . :G . ?@@"@; @B3Incompatible_paramsАH@_x1functor_parameter@@@a@@H Y ]H Y @@k@(Mismatchѐw@@@b@@I  /@@l@@@A@YH@@@@@@6@@@3@#%%H Y _H Y r@@А#arg*q!H Y v"H Y z@@г+%Types,H Y }-H Y @20H Y 0@1@@92@@@@4@#007I  8I  @*@г20module_type_diffAI  b@@9c@@@@6@@A@e@+ccGK  HK  @@;@@A~1functor_parameter@@@c%Ident!t@@@@@@@@@@r@@@o@@Aг5functor_param_symptomfL  x@г%TypespL  qL  @ tL  uL  @@@(Ȱ@@г#%IdentL  L  @(L  L  @@@2ٰ@@@>ڰL  @@@+N  N  2@@;@@7Af@@@@@@@@@@@@@@@Aг )core_diffO 5 M@г3functor_params_infoO 5 9O 5 L@@@@@@@@+P W ^P W q@@;@@¶ms@@:>1functor_parameter@@@@@@Q t {Q t @@m@#res@@L+module_type@@@Q t Q t @@n@@@A@@@@@@@@@#  Q t @@@Ш@г#$listQ t Q t @г()Q t Q t @@/?@@@4@ @@7@@C@-@#))#Q t @"@@Ш@г,-Q t +@@2P,@@5@@S@0@@A@@+S  S  @@;@@#env@@#Env!t@@@&T  T  @@)r@(missings@@.signature_item@@@&@@@&*U  +U  @@%Types ^ W ` ^ W e@E ^ W f ^ W y@@@MI@@гH?module_type_declaration_symptom ^ W { ^ W @@PS@@@\T ^ W _L@@@@N@#JJ _   _  @D@гL0module_type_diff _  @@Se@@@@P@@A@@+ a   a  @@;@@3Illegal_permutation -/module_coercion@@@&@@ *b   +b &@@ J@3In_Type_declaration!t@@@')@@@'@@ Ao Bo@@ SK@,In_Expansionr@@@'@@ Op# PpM@@ aL@@@A@@@@@ Si@@@@ dF@@#|| Zj [j@k@г~$diff dju@г&string lj mj@@3 k j j k k k k k@d_lrz1%$;@@@A@@@@@*@@@(@A@@г1signature_symptom j  j@@@@@ j@@@@@# k"( k"4@@г1signature_symptom k"8@@*@@@@@# lJP lJ^@@г0module_type_diff lJb@@:@@@@@# msy ms@@г%Ident n n@ n n@@@R@@г$diff n@г%Types n n@ n n@@@k@@г?module_type_declaration_symptom n n@@u@@@v n@@@@@# o o@@г%Ident o o@ o o@@@@@гà4core_sigitem_symptom o @@@@@@@#àð p% p1@@гŠ8core_module_type_symptom p5@@@@@@@@A@@@3        @@A@@ t EA@  A@  A@  A@HBA@A@B@B@[?B@KB@>B@1|B@+B@'B@!B@gaA@@3 6 5 5 6 6 6 6 6@ic@A#  =U >qNQ@@@ @U@ @A++explanationI KrRW LrRb@@;@@ A@E!t@@@'ܠ@ #all@@@(9@@(:@@@@ brRR crRv@@@@ tN@@@AВ@г#Env rrRe srRh@ vrRi wrRj@@@&3 v u u v v v v v@  @  A@ R )A@  A@ p jA@A@4.A@7B@ B@B@IB@B@B@#B@ B@B@A@@@_ W;@@@A_@@@(C@'@@@@F@@@C@A61@@@гO%Error rRm rRr@V rRsT@U@@]?V@@@j@HW@@Y@@3        @@@AZY@A+*field_kindJ u u@@;@@+Field_value@@ v v@@ Q@*Field_type@@ w w@@ R@/Field_exception@@ x x@@ S@,Field_typext@@ y y@@ T@,Field_module@@ z  z@@ U@-Field_modtype@@ { {)@@ V@+Field_class@@ |*, |*9@@ W@/Field_classtype@@ }:< }:M@@ X@@@A@@@@@ u@@A@ #P@@#LL vJ@I@@@M@#II wG@F@@@J@#FF %xD@C@@@G@#CC +yA@@@@@D@#@@ 1z >@=@@@A@#== 7{;@:@@@>@#:: =|*.8@7@@@;@#77 C}:>5@4@@@8@@A@4@@3 B A A B B B B B@@A69@A+*field_descK QOT RO^@@;@@$name@@ &@@@(L ^Oc _Op@@ pZ@$kind@@@@@(O jOq kO@@ |[@@@A@@@@@ nOO oO@@@@ Y@@# vOg@@@Ш@г &string Oi Oo@@(3 ~ } } ~ ~ ~ ~ ~@>7;@@@A@@@@@@@@@A@@0@@(M@,@#((# Ou@"@@Ш@г+*field_kind Ow,@@2-@@5@@(P@1@@A@-@@3        @@A.-@2kind_of_field_descĠ  @б@г^*field_desc  @@ @@@([3        @3ic@A@@г &string  @@ @@@(\@@@@@(]@@@  @@ \@@ @@*field_descŠ  @б@г*field_kind  @@ @@@(^3        @1F@A@@б@г!t%Ident  @   @@@@@@(_ @@г*field_desc@@ @@@(`'@@@@@(a*@@@0@@(b-3 @@@@@%]@@@@3(FieldMap*L!v}"v@3_@@УР #Map!S1v2v@ 5v6v@@365566666@Vk)@A @@#key@#keyEvFv@+ @;@@@A@@@)@@@@RvSv@@@@d^@@@Aг *field_desc\v @@$ @@ @@"M;@@@A@@@+@@@@@@@A@!tM;!a@)@A@A@I@B@@@'map.mliI V ZI V e@@@@+Stdlib__MapD@A@%empty!a@)@@@+@L  L  @@E@@#add@6@@@+@!a@)@  @@@+$ @@@+@@+@@+@@+@3O  4O  @@2F@@+add_to_list@@@@+@!a@)@>$listK@@@+@@@+I @@@+@@@+@@+@@+@@+@]X  ^X  @@\G@@&update@I@@@+@@&optionL!a@)@@@+  @@@+@@+@v@@@+z@@@+@@+@@+@@+@^^@@H@@)singleton@u@@@+@!a@)@@@+@@+@@+@jW[jW{@@I@@&remove@@@@+@!a@)@@@+@@@+@@+@@+@oo@@J@@%merge@@@@@+@`!a@){@@@+@k!b@)y@@@+t!c@)w@@@+@@+@@+@@+@@@@+@@@@+@@@+@@+@@+@@+@vY]x@@K@@%union@@@@@+@!a@)k@ @@@+@@+@@+@@+@@@@+@@@@+@@@+@@+@@+@@+@)fj*f@@(L@@(cardinal@)!a@)f@@@+#intA@@@+@@+@BC@@AM@@(bindings@B!a@)a@@@+ @>@@@+@@@+@@@+@@+@c8<d8a@@bN@@+min_binding @c!a@)[@@@+@[@@@+@@@+@@+@bfb@@~O@@/min_binding_opt @!a@)V@@@+#@{@@@+@@@+@@@+@@+@JNJ|@@P@@+max_binding @!a@)P@@@+@@@@+@@@+@@+@484[@@Q@@/max_binding_opt @!a@)K@@@+`@@@@+@@@+@@@+@@+@ @@R@@&choose @ݠ!a@)E@@@+@@@@+@@@+@@+@@@S@@*choose_opt@!a@)@@@@+@@@@+@@@+@@@+~@@+}@@@T@@$find@@@@+|@!a@)9@@@+{@@+z@@+y@23@@1U@@(find_opt@@@@+x@7!a@)4@@@+w۠ @@@+v@@+u@@+t@OIMPIs@@NV@@*find_first@@=@@@+s$boolE@@@+r@@+q@\!a@),@@@+p@T@@@+o@@@+n@@+m@@+l@x  y  D@@wW@@.find_first_opt@@f@@@+k)@@@+j@@+i@!a@)#@@@+h'@@@@+g@@@+f@@@+e@@+d@@+c@"*"."*"l@@X@@)find_last@@@@@+bU@@@+a@@+`@!a@)@@@+_@@@@+^@@@+]@@+\@@+[@#_#c#_#@@Y@@-find_last_opt@@@@@+Z|@@@+Y@@+X@֠!a@)@@@+Wz@@@@+V@@@+U@@@+T@@+S@@+R@$y$}$y$@@Z@@$iter@@@@@+Q@!a@)$unitF@@@+P@@+O@@+N@ @@@+M @@@+L@@+K@@+J@%%%& @@[@@$fold@@ @@@+I@!a@(@#acc@(@@+H@@+G@@+F@0@@@+E@  @@+D@@+C@@+B@A'%')B'3'l@@@\@@#map@@!a@(!b@(@@+A@M @@@+@Q @@@+?@@+>@@+=@`(e(ia(e(@@_]@@$mapi@@N@@@+<@!a@(!b@(@@+;@@+:@q @@@+9u @@@+8@@+7@@+6@))))@@^@@&filter@@r@@@+5@!a@(;@@@+4@@+3@@+2@ @@@+1@@@+0@@+/@@+.@****@@_@@*filter_map@@@@@+-@!a@(O!b@(@@@+,@@++@@+*@@@@+) @@@+(@@+'@@+&@ ,, ,,?@@`@@)partition@@@@@+%@!a@(@@@+$@@+#@@+"@ @@@+!@@@@+@@@@+ @@+@@+@@+@.../%@@a@@%split@@@@+@!a@(@@@+@ @@@+@@@@+@@@@+@@+@@+@@+@,$0'0+-$0'0\@@+b@@(is_empty@,!a@(@@@+@@@+@@+@C022!D022;@@Bc@@#mem@/@@@+@H!a@(@@@+@@@+@@+ @@+ @_32l2p`32l2@@^d@@%equal@@!a@(@@@@+ @@+ @@+ @m@@@+@s@@@+#@@@+@@+@@+@@+@722723-@@e@@'compare @@!a@(@]@@@+@@+@@+@@@@*@@@@*m@@@*@@*@@*@@*@=4(4,=4(4a@@f@@'for_all!@@@@@*@!a@(d@@@*@@*@@*@ @@@*n@@@*@@*@@*@A45A450@@g@@&exists"@@@@@*@!a@(@@@*@@*@@*@ @@@*@@@*@@*@@*@F55F55@@h@@'to_list#@!a@(@@@*@@@@*蠠@@@*@@@*@@*@M6~6M6~6@@i@@'of_list$@ՠ@ @@@*䠠@!a@(@@*@@@*(@@@*@@*@7Q668Q67@@6j@@&to_seq%@7!a@(@@@*&Stdlib#Seq!t@9@@@*ޠ@@@*@@@*@@*@^W77_W77@@]k@@*to_rev_seq&@^!a@(}@@@*'#Seq!t@]@@@*٠@@@*@@@*@@*@[8A8E[8A8n@@l@@+to_seq_from'@n@@@*@!a@(v@@@*P#Seq!t@@@@*Ӡ@@@*@@@*@@*@@*@_88_88@@m@@'add_seq(@l#Seq!t@@@@*Π@!a@(l@@*@@@*@  @@@*Ơ@@@*@@*@@*@d99d99@@n@@&of_seq)@#Seq!t@@@@*Ǡ@!a@(e@@*@@@*@@@*@@*@h::h::>@@o@@@9B @@H Map indexed by both field types and names. This avoids name clashes between different sorts of fields such as values and types. Uu@@@@@@@vv1@K2@/item_ident_namep@б@г.signature_item%Types@ @@@@@@+3@n@KJA@DBA@31@#!@@@@@@GE@@@@@@@tr@ZX@;9@%#@ @@@@jh@FD@$"@@@@@pn@EC@0.@@@@@@ig@JH@%#@@@@@C@@@@@@@Asn@@В@г !t%Ident@ "#@@@@@@+ @@@г(Location!t(Location89@ <=@@@@@@/+ @@@г*field_descLM@@ @@@/,@@@@1@@ @@/-=@@@ @@/.@@@`@@q`@@@@4is_runtime_componentqkl@б@г.signature_item%Typesz{@ ~&@@@@@@//3@(@A @@гH$bool*.@@ @@@/0@@@@@/1@@@ @@a@@ @@(modtypesrEIEQ@б#locг!t(LocationSYSa@ SbSc@@@@@@/23@<Z*@A @@б@г !t#EnvSgSj@ SkSl@@@@@@/3 @@б$markг$boolSuSy@@ @@@/4+@@б@гl+module_type}}@@ @@@/5:@@б@г{+module_type}}@@ @@@/6I@@г/module_coercion}}@@ @@@/7V@@@@@/8Y@@@%@@/9\( @@B7@@/:_Sp@@@L@@/;cT@@}i@@/<f&SU@@@)EE@@:b@@@@m4modtypes_consistencys45@б#locг!t(LocationEF@ IJ@@@@@@/=3LKKLLLLL@*@A @@б@гF!t#Env_`@ cd@@@@@@/> @@б@г+module_typest@@ @@@/?)@@б@г+module_type@@ @@@/@8@@г8$unit@@ @@@/AE@@@@@/BH@@@%@@/CK( @@@7@@/DN?@@hT@@/EQ@@@@@c@@@@X3modtypes_constraint+@б%shapeг%Shape!t%Shape-5-:@ -;-<@@@@@@03@~,@A @@б#locг!t(Location-D-L@ -M-N@@@@@@0 @@б@г!t#Env-R-U@ -V-W@@@@@@04 @@б$markгƠ$bool -` -d@@ @@@0E@@б@г+module_typehjhu@@ @@@0 T@@б@г+module_type*hy+h@@ @@@0!c@@В@г>/module_coercion;h<h@@ @@@0"t@@@г!t%ShapeNhOh@ RhSh@@@@@@0# @@@@ @ @@0$% @@@6 @@0%9@@@H@@0&K@@eZ@@0'i-[@@@o@@0(w@@@@0)p-@@@@@0*t-/"@@@w%@  [modtypes_constraint ~shape ~loc env ~mark exp_modtype constraint_modtype] checks that [exp_modtype] is a subtype of [constraint_modtype], and returns the module coercion and the shape of the constrained module. It also marks as used paired items in positive position in [exp_modtype], and also paired items in negative position in [constraint_modtype]. This marking in negative position allows to raise an [unused item] warning whenever an item in a functor parameter in [constraint_modtype] does not exist in [exp_modtypes]. This behaviour differs from the one in {!check_implementation} and {!compunit} which assumes that is not appropriate to raise warning about the interface file while typechecking the implementation file.   @@@@@@@d@@5@]@@@@@@8strengthened_module_decl@б#locгv!t(Location@ @@@@@@0+3@ C@A @@б)aliasableг~$bool@@ @@@0,@@б@г!t#Env@ @@@@@@0-+ @@б$markг$bool@@ @@@0.<@@б@гt2module_declaration@@ @@@0/K@@б@г`!t$Path@ @@@@@@00c @@б@г2module_declaration#$1@@ @@@01r@@г3/module_coercion051D@@ @@@02@@@@@03@@@%@@04- @@@@@@05C@@]R@@06B@@@g@@07o@@@@08I@@@@09M@@@P @@ae@@"@@7check_modtype_inclusion[FJ\Fa@б#locг6!t(Locationldjmdr@ pdsqdt@@@@@@0:3srrsssss@*@A @@б@гm!t#Envdxd{@ d|d}@@@@@@0; @@б@г+module_type%Typesdd@ dd@@@@@@0<2 @@б@г!t$Pathdd@ dd@@@@@@0=J @@б@гB+module_type%Typesdd@ dd@@@@@@0>b @@г;&option@г +explanation@@ @@@0?y@@@@@@0A~ @@@"@@0B*@@@=@@0CE@@@X@@0D`@@@s@@0E{ @@@@0Fdf$@@@FF'@G [check_modtype_inclusion ~loc env mty1 path1 mty2] checks that the functor application F(M) is well typed, where mty2 is the type of the argument of F and path1/mty1 is the path/unstrenghened type of M. W@@@@@@@&f@@7@W퐠@@@@@@3check_modtype_equiv+,@б#locг!t(Location<=@ @A@@@@@@0G3CBBCCCCC@C@A @@б@г=!t#EnvVW@ Z[@@@@@@0H @@б@г !t%Identno@ rs@@@@@@0I2 @@б@г+module_type@@ @@@0JA@@б@г +module_type@@ @@@0KP@@гG$unit@@ @@@0L]@@@@@0M`@@@%@@0Nc( @@@7@@0Of?@@@R@@0PiZ@@o@@0Ql@@@@@g@@@@s*signatures  @б@г!t#Env  @   @@@@@@0R3@(@A @@б$markг$bool ( ,@@ @@@0S@@б@гo)signature 0 9@@ @@@0T"@@б@г~)signature = F@@ @@@0U1@@г/module_coercion J Y@@ @@@0V>@@@@@0WA@@@%@@0XD( @@B7@@0YG" #@@@N@@0ZKV@@@(  @@9h@@@@Q4check_implementation34@б@г)!t#EnvBC@ FG@@@@@@0[3IHHIIIII@s(@A @@б@г)signatureXY@@ @@@0\@@б@г)signaturegh@@ @@@0] @@г$unittu@@ @@@0^-@@@@@0_0@@@%@@0`3( @@@9@@0a6A@@@@Ő . Check an implementation against an interface [[[@@@@@@@i@@!@k@@@@@@U(compunit@б@г!t#Env@ @@@@@@0b3@wA@A @@б$markг$bool@@ @@@0c@@б@г&string@@ @@@0d"@@б@гf)signature@@ @@@0e1@@б@гà&string@@ @@@0f@@@б@г)signature # ,@@ @@@0gO@@б@г_!t%Shape0 5@ #6$7@@@@@@0hg @@В@г8/module_coercion5;6J@@ @@@0ix@@@г!t%ShapeHMIR@ LSMT@@@@@@0j @@@@ @ @@0k% @@@6 @@0l>@@@Q@@0mT@@@c@@0nf@@@u@@0ox@@@@@0p@@@@0ql @@@@@0r#@@@r&@@j@@(@@1type_declarations}VZ~Vk@б#locгX!t(Locationmsm{@ m|m}@@@@@@0s3@*@A @@б@г!t#Envmm@ mm@@@@@@0t @@б$markгx$boolmm@@ @@@0u+@@б@гp!t%Ident@ @@@@@@0vC @@б@г]0type_declaration@@ @@@0wR@@б@гl0type_declaration@@ @@@0xa@@г$unit@@ @@@0yn@@@@@0zq@@@%@@0{t( @@@7@@0|w?@@]R@@0}zm@@@g@@0~~o@@@@0mo@@@VV@@.k@@@@.print_coercion9()@б@г&Format)formatter78@ ;<@@@@@@73>==>>>>>@(@A @@б@гP/module_coercionMN @@ @@@7@@г$unitZ [@@ @@@7@@@@@7!@@@'@@7$/ @@@h@@yl@@@@*A+'symptom:Ntu@@;@@-Missing_field;(!t@@@7Z!t@@@7Y@@@7@@"&"T@@n@2Value_descriptions<D!t@@@7 1value_description@@@7&1value_description@@@7~.value_mismatch@@@7@@`b@@o@1Type_declarations=g!t@@@7C0type_declaration@@@7I0type_declaration@@@7-type_mismatch@@@7@@=@@p@6Extension_constructors>!t@@@7f5extension_constructor@@@7l5extension_constructor@@@7>extension_constructor_mismatch@@@7@@>@|@@ q@,Module_types?+module_type@@@7+module_type@@@7@@@@!r@-Modtype_infos@!t@@@73modtype_declaration@@@73modtype_declaration@@@7@@+,?@@=s@3Modtype_permutationA+module_type@@@7E/module_coercion@@@7@@B@BC@@@Tt@2Interface_mismatchB@@@7@@@7@@UV@@gu@7Class_type_declarationsC!t@@@76class_type_declaration@@@76class_type_declaration@@@73class_match_failure@@@7@@@7@@}~8@@v@2Class_declarationsD0!t@@@7 1class_declaration@@@71class_declaration@@@73class_match_failure@@@7@@@7@@9;@@w@3Unbound_module_pathE !t@@@7@@@@x@@@A@@@@@@@@@m@@#DD/"3@.@гE%Ident"7"<@L"=">@@@T3@oe;@@@A@@@@@@@@@A @@гT(Location"A"I@["J"K@@@c@@г^&string"N_@@e`@@@@b@#^^`d`v@B@г`%Identzz@gzz@@@o7@@гjkzz@@q@@@гmnzz@@tI@@гp+Includecore%&@w)u@v@@~Yw@@@@y@#uu01@Y@гw%Ident<=@~@A@@@q@@гJK@@z@@гST!@@@@г+Includecore_$`/@c0@@@@@@@@#j>Bk>X@p@г%Identv>\w>a@z>b{>c@@@@@г>f>{@@@@г||@@@@г+Includecore||@|@@@Ͱ@@@@@#@@г@@ݰ@@г@@@@@@@#@@г%Ident @@@@@@г)@@@@г,@@@@@@@#@D@W@@г%Types@[@`@@a@l@@@&@@г)Typedtree@o@x@ư@y@@@6@@@@@#Ġİ @@гƠ&string@@G@@гˠ&string!@@P@@@@@#ˠ˰'(@@г͠%Ident34@԰78@@@h@@гנذAB@@q@@гڠ۰JK@@z@@гݠ$listT4@гᠡ%Ctype^_@b c3@@@@@@ @@@@@#k9=l9O@@г頡%IdentwSYxS^@{S_|S`@@@@@гScSt@@@@гSwS@@@@г$list@г%Ctype@@@@ װ@@@ذ @@@@@#@@г$Path@  @ @@ @@@@@@A@ @@3@@A @A+#posbO@@;@@&Modulec!t@@@9Q@@@@z@'Modtyped!t@@@9R@@ @@ {@#Argev1functor_parameter@@@9S@@    '@@ |@$Bodyf1functor_parameter@@@9T@@  ( *  ( E@@ }@@@A@@@@@ @@@@ !y@@#BB  @9@гD%Ident # $@K 'I@J@@R3 & % % & & & & &@Xc;@@@A@@@@@@@@@A P@@@@R@#NN 3 4@E@гP%Ident ?  @ @W C U@V@@^W@@@@Y@#UU J   K  @M@гWX S  V@@]+W@@@@Y@#UU Y ( , Z ( 0@M@гWX b ( 4V@@]:W@@@@Y@@A@U@@3 a ` ` a a a a a@:@AVY@%ErrorgP o G Q p G V@#@0@@@9b@@A y G G z G e@@ ~@@г +explanation  G Z @@3        @]@A@@@@@@@A+0application_namehQ  g l  g |@@;@@1Anonymous_functori@@      @ސ , [(functor (_:sig end) -> struct end)(Int)]       @@@@@@@ @5Full_application_pathj)Longident!t@@@9@@      @0 [F(G(X).P)(Y)]      !@@@@@@@ @6Named_leftmost_functorq !t@@@9@@ !! !!/@9 [F(struct end)...(...)]  !!0 !!N@@@@@@@ @@@A@@@@@  g g@@@@ @@#YY   W@H@@@Z5 ːXW@WW@@@W@W@#SS!  !  @:@гU)Longident!  !  @Z!  X@Y@@c3!!!!!!!!@;@@@A@@@@@0@@@.@A _@@@@a\ 򐠠_^@^^@@@^@^@#ZZ!,!! !-!! @C@г\)Longident!8!!$!9!!-@c!<!!.a@b@@j'c@@@@e~!cb@bb@@@b@b@@A@^@@3!G!F!F!G!G!G!G!G@2@A_p@+Apply_errorrR!U!P!Z!V!P!e@# n@#locs@@ 2!t@@@9!d!k!o!e!k!@@!v@#envt@@]!t@@@9!r!!!s!!@@!@(app_nameu@@@@@9!~!!!!!@@!@%mty_fv@@ +module_type@@@9!!!!!!@@!@$argsw@@!@ 1functor_arg_descr@@@9@ !+module_type@@@9@@9@@@9!!!!!"@@!@@@A!!P!P!""@@!@@#ZZS!!k!r@R@@Ш@г](Location!!k!u!!k!}@d!!k!~!!k!@@@l3!!!!!!!!@<6@A @@q@@9@k@#gg`!!!@_@@Ш@гj#Env!!!!!!@q!!!!!!@@@y@@|@@9@v@#rrm!!!@l@@Ш@гu0application_name!!!!!!@@}-@@@@90@|@#xxr!!!@q@@Ш@г{|"!!"!!@@>@@@@9A@@#||d"!!@c@@Ш@г$list"!" "!"@В@г%Error"&!!"'!!@"*!!"+!!@@@d@@@г%Types"8!!"9!!@"<!!"=!"@@@v@@@w@@@x"B!!+@@@@9|@@@@@@|@3expand_module_aliasx"N"""O""-@б*strengthenг"$bool"["":"\"">@@ @@@93"]"\"\"]"]"]"]"]@ @A@@б@гW!t#Env"p""B"q""E@ "t""F"u""G@@@@@@9 @@б@г!t$Path"""K"""O@ """P"""Q@@@@@@92 @@г!+module_type%Types"""U"""Z@ """["""f@@@@@@9H @@@@@9K$ @@@7@@9N? @@_T@@9Q"""/@@@"""@@"@@@@X6Functor_inclusion_diffS""h"o""h"@"@@Б$Defs~T""""""@"@@БA+$leftyU""""""@@;@@ A!d1functor_parameter@@@9@@@@""""""@@@@"@@@Aг %Types""""""@"""@@@3""""""""@N$;@@@A,@@@9@9@@@@@@@@A@@ @@3########@ @A! @A+%rightzV#""#""@@;@@ A@@@@9@@@@#""# ""@@@@#1@@@Aг $left#)"" @@3#'#&#&#'#'#'#'#'@-PJ;@@@A#@@@9@9@@@@@@@@A@@@@3#4#3#3#4#4#4#4#4@ @A@A+"eq{W#B""#C""@@;@@ A#P/module_coercion@@@9@@@@#M""#N"#@@@@#_@@@Aг )Typedtree#Y""#Z""@#]""@@@3#\#[#[#\#\#\#\#\@6PJ$;@@@A,@@@9@9@@@@@@@@A@@ @@3#i#h#h#i#i#i#i#i@ @A! @A+$diff|X#w## #x##@@;@@!A!5functor_param_symptom"1functor_parameter@@@9#8@@@9@@@9@@@@######O@@@@#@@@Aг%Error###4###9@###:@@г %Types######@'######,@@@/3########@Ruo@;@@@AH@@@9@9@@@@/@@@,@A@@г6$unit###.###2@@>@@@L###:@@<@@3########@@A=<@A+%state}Y##P#Y##P#^@@;@@!|A@@@@@##P#T@@@@#@@@A@@@3########@*ic@A@@A@A@A@rlA@A@@3########@@A 3########@@A#""##_#d@@@#""@@$diff##e#k##e#o@б@г!t#Env$#e#q$ #e#t@ $ #e#u$ #e#v@@@@@@93$$$$$$$$@G@;5A@A@A@A@PJA@@@2L@A@@б@В@г#$list$.#z#$/#z#@г"1functor_parameter%Types$<#z#~$=#z#@ $@#z#$A#z#@@@@@@94 @@@ @@@99@@@г"+module_type%Types$Y#z#$Z#z#@ $]#z#$^#z#@@@@@@9Q @@@@!@ @@9X/ @@б@В@г#$list$x##$y##@г"1functor_parameter%Types$##$##@ $##$##@@@@@@9~ @@@ @@@9@@@г#+module_type%Types$##$##@ $##$##@@@@@@: @@@@!@ @@:/ @@г'Diffing&Define%patch'Diffing$##$##@$##$##@@$Defs$##$#$@$#$@$#$$#$@@@)@@@:ϰ@@@6@@:Ұ_ @@@@@:հ @@@@@:ذ@@@$#e#g@@$@@@@@%@ @@@ @@3$$$$$$$$@ @A3$$$$$$$$@@A$"h"$$ $ @@@$"h"h@@0Functor_app_diffZ% $$% $$%@%@@Б$Defs[%$+$4%$+$8@%+@@БA+$left\%($>$G%)$>$K@@;@@"A@#1functor_arg_descr@@@:㠠@#+module_type@@@:@@:@@@@%?$>$B%@$>$y@@@@%Q@@@AВ@г%Error%O$>$N%P$>$S@%S$>$T%T$>$e@@@&3%S%R%R%S%S%S%S%S@Y@@~A@QKA@'!A@A@A@@@{@@v@@@oG;@@@AO@@@:@:@@@@6@@@3@A&!@@@г?%Types%$>$h%$>$m@F%$>$nD@E@@M/F@@@Z08G@@I@@3%%%%%%%%@0@AJI@A+%right]%$z$%$z$@@;@@#:A$1functor_parameter@@@:@@@@%$z$~%$z$@@@@%@@@Aг %Types%$z$%$z$@%$z$@@@3%%%%%%%%@Z$;@@@A,@@@:@:@@@@@@@@A@@ @@3%%%%%%%%@ @A! @A+"eq^%$$%$$@@;@@#oA%/module_coercion@@@:@@@@%$$%$$@@@@%@@@Aг )Typedtree%$$%$$@%$$@@@3%%%%%%%%@6YS$;@@@A,@@@:@:@@@@@@@@A@@ @@3%%%%%%%%@ @A! @A+$diff_%$$%$$@@;@@#A$m5functor_param_symptom$s1functor_arg_descr@@@;%@@@;@@@;@@@@&$$&$%@@@@&%@@@Aг%Error&$$& $%@&#$%@@г %Error&.$$&/$$@'&2$$&3$$@@@/3&2&1&1&2&2&2&2&2@Ruo@;@@@AH@@@;@;@@@@/@@@,@A@@г6$unit&I$$&J$$@@>@@@L&M$$:@@<@@3&K&J&J&K&K&K&K&K@@A=<@A+%state`&Y%% &Z%%%@@;@@$A@@@@@&]%%@@@@&n@@@A@@@3&\&[&[&\&\&\&\&\@*ic@A@@@:A@A@A@rlA@A@@3&i&h&h&i&i&i&i&i@@A 3&l&k&k&l&l&l&l&l@@A&q$+$:&r%&%+@@@&t$+$-@@$diffԠ&~%,%2&%,%6@б@гt!t#Env&%8%<&%8%?@ &%8%@&%8%A@@@@@@;3&&&&&&&&@A@ysA@ A@A@A@PJA@@@2@A@@б!fг%)+module_type%Types& %E%K& %E%P@ & %E%Q& %E%\@@@@@@;( @@б$argsг&C$list& %`%& %`%@В@г%?1functor_arg_descr%Error& %`%j& %`%o@ & %`%p& %`%@@@@@@;P @@@г%i+module_type%Types& %`%& %`%@ & %`%& %`%@@@@@@;h @@@@ @ @@;o* @@@C @@@;t'  %`%iA@@гX&Define%patch'Diffing'  %%'! %%@'$ %%'% %%@@$Defs'+ %%', %%@'. %%@'1 %%'2 %%@@@'@@@;~@@x3@@;'; %`%d @@@@;'? %E%I@@@@@;@@@'E%,%.@@'V@@@@@6@@0@@ @@3'J'I'I'J'J'J'J'J@ @A3'M'L'L'M'M'M'M'M@@A'R$$''S %%@@@'U$$@@@%@@%@@A@A@ A@@R@J@ cD@@ @@F@?@@%@p@P @  S@ L @  @  d@ ] @  A@A@B@A@:4B@C@@@@@@D@?@@@3''''''''@=@@ysA@ A@A@A@PJA@@@2@@-d@@@S@AAK'DiffingD@AC@AܱB@A A@Au @@AA+An A A @ H************************************************************************'A@@'A@L@ H 'BMM'BM@ H OCaml 'C'C@ H 'D'D3@ H Xavier Leroy, projet Cristal, INRIA Rocquencourt 'E44'E4@ H 'F'F@ H Copyright 1996 Institut National de Recherche en Informatique et 'G'G@ H en Automatique. 'H'Hg@ 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. (LOO(LO@ H ( M(M@ H************************************************************************(N(N5@ * Inclusion checks for the module language (P77(P7e@ m* For backward compatibility's sake, an empty struct can be implicitly converted to an unit module. %P D* signature items that could not be compared due to type divergence  4 Extract name, kind and ident from a signature item (%txx(&tx@ * Map indexed by both field types and names. This avoids name clashes between different sorts of fields such as values and types. . Typechecking (.11(/1C@ * [modtypes_constraint ~shape ~loc env ~mark exp_modtype constraint_modtype] checks that [exp_modtype] is a subtype of [constraint_modtype], and returns the module coercion and the shape of the constrained module. It also marks as used paired items in positive position in [exp_modtype], and also paired items in negative position in [constraint_modtype]. This marking in negative position allows to raise an [unused item] warning whenever an item in a functor parameter in [constraint_modtype] does not exist in [exp_modtypes]. This behaviour differs from the one in {!check_implementation} and {!compunit} which assumes that is not appropriate to raise warning about the interface file while typechecking the implementation file.  * [check_modtype_inclusion ~loc env mty1 path1 mty2] checks that the functor application F(M) is well typed, where mty2 is the type of the argument of F and path1/mty1 is the path/unstrenghened type of M. # /* Check an implementation against an interface  & kind (="U(>"_@ -* [(functor (_:sig end) -> struct end)(Int)] 1* [F(G(X).P)(Y)] {:* [F(struct end)...(...)] `@-./boot/ocamlc)-nostdlib"-I&./boot*-use-prims2runtime/primitives"-g0-strict-sequence*-principal(-absname"-w8+a-4-9-40-41-42-44-45-48+-warn-error"+a*-bin-annot/-strict-formats"-I&typing"-I%utils"-I'parsing"-I&typing"-I(bytecomp"-I,file_formats"-I&lambda"-I*middle_end"-I2middle_end/closure"-I2middle_end/flambda"-I=middle_end/flambda/base_types"-I'asmcomp"-I&driver"-I(toplevel"-I%tools"-I'runtime"-I1otherlibs/dynlink"-I-otherlibs/str"-I4otherlibs/systhreads"-I.otherlibs/unix"-I8otherlibs/runtime_events"-c(( T/home/teraram/ci/builds/workspace/parallel-build/flambda/false/label/ocaml-manycores >10/.-,+*)('&%$#"! @@0:\ Ged^3((((((((@(@@(Asttypes0>n{T8cئ%Btype0sYTjx꤮5Build_path_prefix_map0z HkGs8CamlinternalFormatBasics0%FU(Q/Tu0CamlinternalLazy0&͂7 Pˆ*Cmi_format0Aڙ% C<$80}/p[Q9sQՅlՠ*Data_types0I'Ue`wq]Ѡ'Diffing0ɞyM۠1Diffing_with_keys0%h8Lc\5#Env0H/]0K+G*Errortrace0>"+$? QNL(1R*Format_doc0]mWϓ:Mݠ%Ident0">WA+9*X,Identifiable0 {d\FX'`%0"fTeБtPH)0wXlSV1E)Load_path0I@18 ~(Location0a7cK_H%9)Longident0s `7mɕc$Misc0[@@Pc+zD+Outcometree0euWS~d栠)Parsetree0Uҩ=p>*%"e$Path0Y2kf֯J._Ϡ)Primitive0²~$xzT෠%Shape0oNՄBH&Stdlib0Lku]8_٠.Stdlib__Buffer08APF< t..Stdlib__Digest0l!LHgErζ .Stdlib__Domain0Bj|5s)ڠ.Stdlib__Either0Vy`u~c à.Stdlib__Format0ɢb tLir/Stdlib__Hashtbl0ѱN][/!,Stdlib__Lazy0* -S$.)"0D.Stdlib__Lexing0e<.V +Stdlib__Map0L5xE|O0~,J-.Stdlib__Result06 ]/J+Stdlib__Seq0nwzG&amg+Stdlib__Set0\$;7 .Stdlib__String0s.Type_immediacy0A^abOhՠ)0'ߕ'@$ѓ$@+)@o@&c%@@@ -Ɛ@j'(&@UF@İ ג !@@  @ E &%@ 9 E#ݒ g@@͐;$ߒ%@ @'M' @@  q F ʓ@  ٰ C $#ݰ(+(@@@] @@@ @@  Ұ.@@@@y@@@@֓@$$@@IT 9@L ד!@!!V$c#@@0@ " @&{%&&x@@@@ X %#+#@#@@!!@@  @@@@= $$@ 7 y5@@@@@Ɛ]@=@$K"$s#@$$((@@&ē&@  j@"G!@@ÒְT%@$g"۰##@ @$O W$~#+@%|%O@@}E@""#t#a@@ M °&’'h@@S"@((@@  ʰ% $i@@@ԐB  #@@@(9(`@  C%%y@ T $"%%o@@@ K @Ba@@ ۓ @('@@@@@@P@@