Caml1999I037%Rk*Errortrace(positionp;@@%First@@5typing/errortrace.mliTT@@B@&Second@@ T T@@C@@@A@@@@@T@@A@A@A@%orderq;@@$Less@@U U @@,E@%Equal@@%U&U@@5F@$More@@.U/U@@>G@@@A@@@@@2U@@A@AD@A@-swap_positionr@H@@@@@@@A@@B@CWDWF@@SH@@)print_poss*Format_doc'printer@@@C@@@D@XXGGYXGr@@hI@@*swap_ordert@S@@@E@@@F@@G@jZttkZt@@zJ@@-expanded_typeu;@@"ty@@%Types)type_expr@@@I\\@@L@(expanded@@)type_expr@@@H\\@@M@@@A@@@@@\\@@@@K@A@1trivial_expansionv@$)type_expr@@@J4@@@K@@L@cFFcFx@@N@@$diffw;!a@M@A#got@@ ezez@@P@(expected@@ezez@@Q@@@A@Y@@@@@ezzez@@@@O@A@(map_diffx@@!a@O!b@Q@@N@5@@@P@@@R@@S@@T@hh@@R@@+escape_kindy;!a@U@A+Constructorϐ$Path!t@@@X@@lVXlVo@@T@$Univ␠)type_expr@@@W@@mprmp@@"U@$Self@@p  p  @@+V@+Module_type䐠*!t@@@V@@+q  ,q  &@@;W@(Equation吠E@@5r ' )6r ' 9@@EX@*Constraint@@>s : <?s : H@@NY@@@A@Y@@@@@Dk@@@@@@SS@A@&escapez;!a@[@A$kind@@m @@@\[v [ _\v [ u@@k[@'context@@&optionL)type_expr@@@Y@@@Zow v zpw v @@\@@@A@Y@@@@@uu J Jvw v @@@@Z@A@*map_escape{@@!a@^!b@`@@]@F@@@_@@@a@@b@@c@y  y  @@]@@'explain|@$listK!a@f@@@d@$prevN@@@e@U!b@j@@@g@@h@@i^ @@@k@@l@@m@{  }  @@^@@+unification};@@+Unification@@@ 1 L@ 1 W@@`@@@@@@@@@@ 1 1@@A@_@A@*comparison~;@@*Comparison@@A X sA X }@@b@@@@@@@@@A X X@@A@a@A@.fixed_row_case;@@0Cannot_be_closed@@D  D  @@ d@/Cannot_add_tagsc&stringQ@@@n@@@o@@E  E  @@e@@@A@@@@@C  @@@@!c@A@'variant;'variety@p@A6Incompatible_types_for@@@@@@@@@2I  3I  %@@Bg@'No_tags@@@@(Asttypes%label@@@@)row_field@@@@@@@@@.-@@@@^J & (_J & m@@nh@/No_intersection@=@@@}@@@~pL  qL  @@i@)Fixed_row>@@@z@@@y 1fixed_explanation@@@x@^!@@@{@@@|M  N  @@j@;Presence_not_guaranteed_for^@@@u@@@t@x@@@v@@@wP " $P " k@@k@(Opennessy@@@q@@@@r@@@sQ l nQ l @@l@@@A@@@@@@G  @@@@f@A@#obj;'variety@@A-Missing_field @@@@@@@@@@@U  U  @@n@,Abstract_row @@@@@@@@V  V  3@@ o@5Self_cannot_be_closed @#@@@@@@ X H JX H s@@p@@@A@@@@@@S  @@@@"m@A@2first_class_module;@@5Package_cannot_scrape'!t@@@@@([  )[  @@8r@1Package_inclusion#doc@@@@@8\  9\  @@Hs@0Package_coercion#doc@@@@@H]  I] @@Xt@@@A@@@@@LZ u u@@@@[q@A@#elt;!a@'variety@@B$DiffB!a@@@@@  D@@@@ua24va2S@@{@'VariantCT'variety@@@@@!a@@@@bTVbT@@|@#ObjD'variety@@@@@6!a@@@@cc@@}@&EscapeE+!a@@@@@R @@@@dd@@~@7Function_label_mismatchF)arg_label@@@@@@@@ee@@@4Tuple_label_mismatchG@@@@@@@@@@@ffA@@@@3Incompatible_fieldsH$nameI@@@@@gB^gBj@@A@$diffJ@@-)type_expr@@@@@@gBkgB@@#B@@!a@@@@@"gBD#gB@@2C@2First_class_moduleK@@@@à!a@ @@@@;h<h@@KD@/Univar_mismatchL%orderM@@@@@KiLi@@[E@$diffN@@v)type_expr@@@@@@\i]i@@lF@@@`iai@@pG@)Rec_occurO)type_expr@@@)type_expr@@@@!a@O@@@@kIKkI}@@H@@@A@_@@@@@@_  @@@@z@A@!t;!a@'variety@@B@A2@@@@@@ _@@@@@@mm@@@@U@A@%trace;'variety@@A@A0F)type_expr@@@Ġ@@@Š@@@@@oo@@@@V@A@%error;'variety@@A@A9@@@Ǡ @@@Ƞ@@@@@pp@@@@W@A@#map@@!a@!b@@@@> 'variety@@@@G @@@@@@@@rrQ@@X@@3incompatible_fields$name @@@#got)type_expr@@@(expected)type_expr@@@)type_expr@@@ՠ@@@@@@@@@@@4tSS5um@@DY@@*swap_trace@!a@ܠ'variety@@@@  @@@@@@QwRw@@aZ@@1unification_error;@@%traceW@@@@@@@@gvhv@@w\@@@@@@@@@lvvmv@'unboxedsvtv@@wv @@@@[@A@.equality_error;@@%traceY@@%@@@@@@@@^@%substZ@@@#)type_expr@@@⠠@*)type_expr@@@@@@@@&@@_@@@@@@@@@(@@@@]@A@-moregen_error;@@%trace\@@[@@@@@@*I*a@@a@@Z@@@@@@***o@'unboxed*g*n@@*d @@@@`@A@1unification_error%trace}t@@@@@@@@@@@@qqq@@b@@.equality_error%traceQ@@@@@@%subst_@)type_expr@@@@)type_expr@@@@@@@@@@@@@@@@@@(c@@-moregen_error%traceƠ@@@@@@}@@@@@@01Y@@@d@@0comparison_error;@@.Equality_errora,@@@@@CD@@Sf@-Moregen_errorb!@@@@@PQ@@`g@@@A@@@@@T@@@@ce@A@6swap_unification_error@{@@@~@@@@@@d88e8{@@th@@Ӡ'Subtype@#elt;!a@&@A$Diffe@@@'@@@@j@@@A@Y@@@@@@@@Ai@A@!t;!a@(@A@A/@@@)@@@*Y@@@@@@@@@k@A@%trace;@@@A$;)type_expr@@@+@@@,@@@@@@@@l@A@+error_trace;@@@A&@@@-@@@.@@@@@@@@m@A@7unification_error_trace;@@@Awn@@@/@@@0@@@@@@@@n@A@%error;@@%tracek@@/@@@3PVv{@@p@1unification_tracel@@@@@1@@@2v|v@@q@@@@@@@@@24v@@@@o@@@%error%trace$@@@41unification_traceH@@@5:@@@6@@7@@8@@@.r@@#map@@!a@:!b@<@@9@ @@@; @@@=@@>@@?@=>&@@Ms@@@@A}}B'*@Qt@@@@9Ϡ*Errortrace0>"+$? QNL(1R(Warnings0mJɒkgr*%"e+Outcometree0euWS~d栠)Longident0s `7mɕc(Location0a7cK_H%9,Identifiable0 {d\FX'`%Ident0">WA+9*X*Format_doc0]mWϓ:Mݠ0CamlinternalLazy0&͂7 Pˆ8CamlinternalFormatBasics0%FU(Q/Tu(Asttypes0>n{T8cئ@@@Caml1999T037hd!C*Errortraceࠐ%Types%Types5typing/errortrace.mliRR@@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|R{@@3zyyzzzzz@w@A}@A+(positionATT@@;@@%First@@TT@@B@&Second@@TT@@C@@@A@@@@@T@@A@A@@#@@@@@#T@@@@@@A@@@@A+%orderBUU@@;@@$Less@@U U @@E@%Equal@@UU@@F@$More@@UU@@G@@@A@@@@@U@@A@D@@#@@@@@#U@@@@@#U@@@@@@A@@@3@ic@A@-swap_positionW"W/@б@гy(positionW2W:@@ @@@ 3@UO@A@@г(positionW>WF@@ @@@ @@@@@ @@@W @@,H@@ @@)print_posĠ&XGK'XGT@г*Format_doc'printer*Format_doc5XG`6XGj@ 9XGk:XGr@@г(positionDXGWEXG_@@ @@@ %3FEEFFFFF@DY2@A@@@$ @@@ ' @@@SXGG@@dI@@@@ *swap_orderŠ^Ztx_Zt@б@г%orderiZtjZt@@ @@@ (3kjjkkkkk@&N@A@@г%orderxZtyZt@@ @@@ )@@@@@ *@@@Ztt @@J@@ @@A+-expanded_typeC\\@@;@@"ty@@)type_expr@@@ +\\@@L@(expanded@@)type_expr@@@ .\\@@M@@@A@@@@@\\@@@@K@@#\@@@Ш@г"#\\@@)3@TiB8;@@@A@@@@@@@@@A@@1@@ ,@,@#(("\@!@@Ш@г+,\*@@1+@@4@@ /@/@@A@+@@3@@A,+@1trivial_expansionɠcFJcF[@б@г)type_exprcF^cFg@@ @@@ :3@2ic@A@@гm-expanded_typecFkcFx@@ @@@ ;@@@@@ <@@@cFF @)ocaml.docސ o [trivial_expansion ty] creates an [expanded_type] whose expansion is also [ty]. Usually, you want [Ctype.expand_type] instead, since the expansion carries useful information; however, in certain circumstances, the error is about the expansion of the type, meaning that actually performing the expansion produces more confusing or inaccurate output. ^bE@@@@@@@(N@@@@@@@@@3A+$diffD.ez/ez@А!a@ >354455555@H]6;@@ =@A@A@G@B@@@CezzDez@@@@UO@@AGezHez@@BA@;@A#got@@E@ ?TezUez@@fP@(expected@@(E@ C^ez_ez@@pQ@@@A@Y@@@@@!@@@@#hez@@@Ш@А!a6oezpez@@"@@ @;@ @#wez@@@Ш@А!a"E~ez @@&@@ DI@$@@A@?@@3~}}~~~~~@H@A@?@(map_diff͠hh@б@б@А!a@ YE@ O3@aqQ@Ahh@@А!b@ [E@ P hh@@@ @@ Q@@б@г$diffh h@А!a'"h h @@@-@@@ S) @@г$diffhh@А!b/7hh@@@5@@@ U> @@@@@ VA@@@4@@ WDh@@@h@ڐ C [map_diff f {expected;got}] is [{expected=f expected; got=f got}] gg@@@@@@@R@@'@ǐ@@@@@@dA++escape_kindEk@Hk@S@А!a@ ]3        @y4;@@ \@A@A@G@B@@@k@@s : H@= Scope escape related errors )j*j?@@@@@@@@@;S@@A-k@E.k@G@@@;$@A+Constructorϐ$Path!t@@@ @@AlVXBlVo@@ST@$Univ␠T)type_expr@@@ @@PmprQmp@@bU@$Self@@Yp  Zp  @@kV@+Module_type䐠*!t@@@ @@iq  jq  &@@{W@(Equation吠gF@ @@ur ' )vr ' 9@@X@*Constraint@@~s : <c@@Y@@@A@Y@@@@@he@@W@#QQlVZlVe@F@гS$PathlVilVm@XlVnV@W@@aX@@@@Z@#VVmptmpx@N@гXYmp|W@@^X@@@@Z@#VVp  T@S@@@W@#SSq  q  @J@гU$Pathq  q  $@\q  %Z@[@@c\@@@@^@#ZZr ' +r ' 3@U@А!a_r ' 7]@@@@_@#[[s : >@Y@@@\@@A@@@@@@@@3@@A@A+&escapeFu J Ru J X@А!a@ 3@;@@ @A@A@G@B@@@u J Jw v @@@@Z@@Au J O u J Q@@@;@A$kind@@!G@ @@@ v [ _v [ u@@+[@'context@@.)type_expr@@@ @@@ +w v z,w v @@=\@@@A@Y@@@@@-@@@*@#$$5v [ c@@@Ш@г'+escape_kind>v [ i?v [ t@А!a/KEv [ fFv [ h@@@6N @@9@@ Q@2@#..#Nw v @"@@Ш@г1&optionWw v ,@г56^w v _w v @@<g@@@Ah6@@D@@ k@:@@A@a@@3a``aaaaa@j@Aba@*map_escapeny  oy  @б@б@А!a@ ,G@ "3yxxyyyyy@t@Ay  y  @@А!b@ .G@ # y  y  @@@ @@ $@@б@г&escapey  y  @А!a'"y  y  @@@-@@@ &) @@г&escapey  y  @А!b/7y  y  @@@5@@@ (> @@@@@ )A@@@4@@ *Dy  @@@y  @@]@@@@K'explain{  {  @б@гR$list{  {  @А!a@ >G@ /3@j}%@A{  {  @@@ @@@ 1 @@б@б$prevгW&option|  |  @А!a"|  |  @@@(@@@ 3$ @@б@А!a/*|  |  @@гt&option|  |  @А!b@ @G@ 4?%|  &|  @@@ @@@ 6F@@@N@@ 7I@@>,@@ 8L2|  @@г&option:}  ;}  @А!b![A}  B}  @@@'@@@ :b @@@@@ ;eK|  @@@d@@ <ig@@@Q{  @@b^@@@@oA++unificationG]@ 1 6^@ 1 A@@;@@+Unification@@g@ 1 Lh@ 1 W@@y`@@@@@@@@@k@ 1 1@d. Type indices x  y  0@@@@@@@A@_@@#@@@@@@@@yV@@@@@@@3@?@A$'@A+*comparisonHA X ]A X g@@;@@*Comparison@@A X sA X }@@b@@@@@@@@@A X X@@A@a@@#    @ @@@ @@@@ @@3@#WQ@A @A+.fixed_row_caseIC  C  @@;@@0Cannot_be_closed@@D  D  @@d@/Cannot_add_tagsL@@@ M@@@ O@@E  E  @@e@@@A@@@@@C  @@@@c@@#  D  @@@@!@#E  E  @@г$listE  @г#&stringE  E  @@+3@PkeI;@@@A@@@@@'@@@%@A@@@5 +@@@@-@@A@)@@3@@A*-@A+'variantJG  G  @А'variety@ [3@e_;@@ Z@A@A@G@B@@@#G  $Q l @@@@5f@@A'G  (G  @@@;@A6Incompatible_types_for@@@ \@0@@ ]@@@ _?I  @I  %@@Qg@'No_tags@@@ `̠@(Asttypes%label@@@ @i)row_field@@@ @@ @@@ @_@@ @@@ nJ & (oJ & m@@h@/No_intersection@p%@@@ @@@ L  L  @@i@)Fixed_row @@@ @@@ 1fixed_explanation@@@ @H@@@ @@@ M  N  @@j@;Presence_not_guaranteed_for,@@@ @@@ @*@@@ @@@ P " $P " k@@k@(OpennessI@@@ @ȠB@@@ @@@ Q l n@@l@@@A@@@@@@@@@@#I  I  @@г&stringI  I  @@ְ@@@г'variantI  @@I  I  @@@@@@#J & *J & 1@@г(position J & 4 J & <@@@@г $listJ & \J & `@В@гǠ(Asttypes$J & @%J & H@̰(J & I)J & N@@@@@@гϠа3J & Q4J & Z@@@@@@@@8J & ?#@@@гԠ'variant@J & f@@+DJ & dEJ & e@@@.@@@#ְ֠KL  LL  @@@гؠ'variantUL  @гܠ+unification]L  ^L  @@G@@@H@@@#ݠݰeM  fM  @@гߠ(positionoN  pN  @@Y@@г䠐.fixed_row_caseyN  zN  @@c@@г預N  N  @@l@@@г점'variantN  @г+unificationN  N  @@~@@@@@@#P " &P " A@@г(positionP " DP " L@@@@г&stringP " OP " U@@@@@г'variantP " d@г*comparisonP " YP " c@@ @@@@@@#Q l pQ l x@@г(positionQ l {Q l @@ @@@г 'variantQ l @г *comparisonQ l Q l @@а@@@Ѱ@@@@A@@@3@@A@A+#obj KS  S  @А'variety@3@;@@@A@A@G@B@@@ S   X H s@@@@ m@@A S   S  @@@;@A-Missing_field @@@@@@@5@@@@@ +U   ,U  @@ =n@,Abstract_row @@@@K@@@@@ AV   BV  3@@ So@5Self_cannot_be_closed @\@@@@@@ TX H JJ@@ ep@@@A@@@@@@O@@@L@#FF ]U   ^U  @2@гH(position gU   hU  @@Pj@@гM&string qU   rU  @@Ut@@@гR#obj {U  P@@W U   U  @@@^V@@X@#TT V   V  @E@гV(position V  " V  *@@^@@@г[#obj V  0Y@@` V  . V  /@@@g_@@a@#]] X H L X H a@R@@г_#obj X H p@гc+unification X H d X H o@@k@@@p@@h@@A@@@3        @@A@A+2first_class_module L Z u z Z u @@;@@5Package_cannot_scrape!t@@@J@@ [   [  @@ r@1Package_inclusion#doc@@@K@@ \   \  @@ s@0Package_coercion#doc@@@L@@ ]   ] @@ t@@@A@@@@@ Z u u@@@@ q@@#44 [   [  @+@г6$Path [   [  @= [  ;@<@@D3        @&U;@@@A@@@@@@@@@A B@@@@D@#@@ \   \  @7@гB*Format_doc *\   +\  @I .\  G@H@@PI@@@@K@#GG 5]   6]  @>@гI*Format_doc A]   B] @P E] N@O@@W3P@@@@R@@A@N@@3 E D D E E E E E@3@AOR@A+#eltAM S_  T_  @А!a@3 Z Y Y Z Z Z Z Z@J;@@@@@B@A@GG@BB@@@ m_   nkI}@@@@ z@@A q_  r_ @@*А'variety@ |_  }_ @@5@;& @B$DiffBa!a@N@@@@@H N@@@@@@ a24 a2S@@ {@'VariantC'variety@N@@@@@h!a@ N@N@@@@  bTV bT@@ |@#ObjDޠ'variety@N@@@@@!a@N@N@@@@ c c@@ }@&EscapeE!a@N@@@@@ N@ @@!@@@$ d d@@ ~@7Function_label_mismatchF)arg_label@@@&@@@(@@ e e@@ .@4Tuple_label_mismatchG  @@@)@@@+@@@-@@ 4f 5fA@@ F@@3Incompatible_fieldsH$nameI@@ @@@. EgB^ FgBj@@ WA@$diffJ@@% Z)type_expr@@@1@@@3 WgBk XgB@@ iB@@!a@@@?@@@B h h@@ D@/Univar_mismatchL%orderM@@ @@@E i i@@ E@$diffN@@x )type_expr@@@H@@@J i i@@ F@@@ i i@@ G@)Rec_occurO )type_expr@@@M )type_expr@@@N@w!a@UN@O@@P@@@S kIKe@@ H@@@A@_@@@@@@l@@@i@#WW a26 a2:@>@гY$diff a2@ a2D@А[` a2= a2?@@@g@@@г]#elt a2PX@А!ad a2I a2K@@@f a2M a2N@@@p a2Hf@@h@#dd bTX bT_@G@гf'variant bTk bTr@Аhm bTb bTj@@@t@@@гj#elt $bTa@Аkp˰ )bTw *bTy@@А'varietypҰ 0bT{ 1bT@@@~հ 3bTvp@@r@#nn 8c 9c@Q@гp#obj Bc Cc@Аrw Hc Ic@@@~@@@гt#elt Rck@Аuz Wc Xc@@А'varietyz ^c _c@@@ acz@@|@#xx fd gd@_@гz&escape pd qd@А| vd wd@@@@@@г~#elt dy@А!a( d d@@@- d d@@@0 d@@@# e e@w@г$diff e@г(Asttypes e e@ e e @@@Q@@@R @@@@@# f f+@@г$diff f=@г&option f6 f<@г&string f/ f5@@t@@@u @@@v@@@@@# gBF gBY@n@# gBb@@@Ш@г&string gBc gBi@@@@@@/@@# gBo@@@Ш@г$diff gB{@г gBq gBz@@@@@@@@@4@@@г#elt gB@А gB gB@@@ gB gB@@@ gB@@@# h !h@@г2first_class_module *h +h@@ϰ@@@г#elt 4h@А۰ 9h :h@@@ >h ?h@@@ Ah@@@# Fi Gi@@# Mi@@@Ш@г%order Vi Wi@@@@@@F@@# _i@@@Ш@гà$diff hi@гǠȰ oi pi@@@@@@@@@K@@@@@#Ġİ ykIM zkIV@@гƠǰ kIY kIb@@'@@гɠʰ kIe kIn@@0@@@г̠#elt kIz(@А< kIs kIu@@@A kIw kIx@@@D kIr5@@@@A@7@@3        @E@A87@A+!tPN m m@А!a@3        @\l=;@@@@@B@A@@@@@@@@GG@BB@@@ m m@@@@ U@@A m m@@ А'variety@+ m m@@ @;3 @B@A j@O@O@@@@@@@_@@@@@@*@@@'@@Aг$listm0@г#elt mm@А!a [mm@@А'variety$bmm@@@.em@@@4gJ@@L@@3@g@AML@A+%traceQO+o,o@А'variety@#321122222@~R;@@"@A@A@@A@@@B@!G@B@@@JoKo@@@@\V@@ANoOo@@ @; @AiAa)type_expr@@@$-P@%@@@(@@@@@@@@@@Aг!tio@гpoqo@@=@@А'varietyBxoyo@@@'E{o1@@3@@3yxxyyyyy@F@A43@A+%errorRPpp@А'variety@S3@]mD;@@R@A@A@@q@@@r@QG@B@@@pp@@@@W@@App@@ c@; @AA +@@@T,Q@U@@@X@@@@@@@@@@Aг!tp@г-expanded_typepp@@=@@А'varietyBpp@@@'Ep1@@3@@3@F@A43@#mapSrr@б@б@А!a@Q@3@_oF@Ar r"@@А!b@Q@ r&r(@@@ @@@@б@г^!t r< r=@А!a'"r.r0@@А'variety@Q@.r2 r:@@@9 @@@6'r-@@г!t/rP0rQ@А!b=E6rB7rD@@А'variety#L=rF>rN@@@J*@@@TErA@@@' @@X"@@@K@@[Lr@@@Or @@`X@@"@@b3incompatible_fieldsTZtSW[tSj@б$nameг-&stringgumthumz@@ @@@3ihhiiiii@}!@A@@б#gotг})type_exprzum{um@@ @@@@@б(expectedг)type_exprumum@@ @@@$@@гE#eltumum@г)type_exprumum@@ @@@;@@@@@@umum@@@ @@@Hum@@6+ @@Lum!@@K@@@Pum~%@@bW@@Tumo)@@@tSS,@@Y@@.@@[*swap_traceUww@б@г,!tww@А!a@Q@3@z%@Aww@@А'variety@Q@ww@@@# @@@w"@@гV!tww@А!a*% w w@@А'variety#,ww@@@7*@@@4w@@@' @@8"@@@ w@@1Z@@@@>*ocaml.text  The traces (['variety t]) are the core error types. However, we bundle them up into three "top-level" error types, which are used elsewhere: [unification_error], [equality_error], and [moregen_error]. In the case of [equality_error], this has to bundle in extra information; in general, it distinguishes the three types of errors and allows us to distinguish traces that are being built (or processed) from those that are complete and have become the final error. These error types have the invariants that their traces are nonempty; we ensure that through three smart constructors with matching names. 3y4^t@@@@@@321122222@Ql@AA+1unification_errorVQ@v{Av@@;@@%traceW@@Ƞ @@@@@@RvSv@@d\@@@@@@@@@WvvXv@'unboxed^v_v@@bv @@@@s[@@#!!iv@@@Ш@г$%errorrv @г(+unificationzv{v@@03yxxyyyyy@HB;@@@@@@@@@*'@@@A@@@9/@@<@@@3@@@@.+*@'@@S21@A+.equality_errorXR@@;@@%traceY@@ @@@@@@@@^@%substZ@@*@)type_expr@@@㠠@)type_expr@@@@@@@@&@@_@@@@@@@@@(@@@@]@@#33)@(@@Ш@г6%error@г;*comparison@@C3@V;@@@@@@@@@"@@@@A@@@M @@P@@ @G@#CC-@,@@Ш@гF$list"6@В@гJK @@Q#@@@гMN   @@T-@@@`.@@@e/ P@@i@@3@T@@@@P@@3@2@AQP@A+-moregen_error[S*/ *<@@;@@%trace\@@ @@@ @@@"1*I2*a@@Ca@@@@@@@@5**6*o@'unboxed<*g=*n@@@*d @@@@Q`@@#  G*N@@@Ш@г#%errorP*\@г'*comparisonX*QY*[@@/3WVVWWWWW@zB;@@@@@@@@@+(@@@A@@@9 /@@<@@# @3@@@@/,+@(@@3dccddddd@ @A43@1unification_error]qqurq@б%traceг%error~qq@г ++unificationqq@@ @@@S3@3tn@A@@@ @@@U @@г\1unification_errorqq@@ @@@V@@/@@Wq @@@qq @@b@@@@.equality_error^@б%traceг9%error@г 2*comparison@@ @@@X3@Cd+@A@@@ @@@Z @@б%substгZ$list @В@г)type_expr@@ @@@[&@@@г)type_expr@@ @@@\5@@@@@ @@]< @@@1 @@@_A/@@г.equality_error@@ @@@`O@@H@@aR" @@nS@@bV& @@@)@@:c@@@@]-moregen_error_4"5/@б%traceг%errorACBH@г *comparisonK8LB@@ @@@c3MLLMMMMM@+@A@@@ @@@e @@г@-moregen_error_L`Y@@ @@@f@@/@@gh2 @@@k @@|d@@@@A+0comparison_error`Twx@@;@@.Equality_errora@@@h@@@@f@-Moregen_errorbw@@@i@@@@g@@@A@@@@@@ E Wraps up the two different kinds of [comparison] errors in one type [[[@@@@@@@@@e@@#..@'@г0.equality_error1@@73@jRH;@@@A@@@@@&$@@@A7@@@@9@#55@.@г7-moregen_error8@@>9@@@@;@@A@765@55@@@5@5@@3@ @ACF@6swap_unification_errorc8<8R@б@г1unification_error8U8f@@ @@@s3@;|@A@@г1unification_error8j8{@@ @@@t@@@@@u@@@88 @ * Lift [swap_trace] to [unification_error] 7@@@@@@@'h@@@@@@@@@1'SubtypeoU.}/}@@t@@БA+#eltdV=>@А!a@w3DCCDDDDD@VkD;@@v@A@A@G@B@@@RS@@@@di@@AVW@@@;@A$Diffe:#W@x@@@z@@i@@zj@@@A@Y@@@@@@@A@#rs@ @г$diff|*@А!a:@@@#=2@@@@@@A@4@@3@=@A54@A+!tfW@А!a@3@TdE;@@@A@A@@@@@@G@B@@@@@@@k@@A@@l@; @AA7+X@@@@@@@Y@@@@@@@@@@Aг$list@г#elt@А!aA@@@"D @@@'E0@@2@@3@E@A32@  Just as outside [Subtype], we split traces, completed traces, and complete errors. However, in a minor asymmetry, the name [Subtype.error_trace] corresponds to the outside [error] type, and [Subtype.error] corresponds to the outside [*_error] types (e.g., [unification_error]). This [error] type has the invariant that the subtype trace is nonempty; note that no such invariant is imposed on the unification trace. _@@@@@@3@Yi@@AA+%tracegX@@;@@Ay)type_expr@@@@@@@@@@ @@@@l@@@Aг!t @г@@3@.(;@@@A0@@@@@@@@@@@@A @@@* @@!@@:! @A++error_tracehY78@@;@@QA@@@@@@@@@@EF@@@@Wm@@@Aг!tO @г-expanded_typeWX@@3VUUVVVVV@hb\);@@@A1@@@@@@@@!@@@@A@@@+ !@@#@@3dccddddd@ @A$#@A+7unification_error_traceiZrs@@;@@A$@@@@@@@@@@@z4 To avoid shadowing 0@@@@@@@@@n@@@Aг%error@г +unification@@(3@Jrl7;@@@A?@@@@@@@@/,@@@A@@@9 /@@1/.@..@@@.@.@@3@@A=<@@+%errorj[2@2E@@;@@%tracek@@@@@PVv{@@p@1unification_tracel@@Z@@@@@@v|v@@q@@@@@@@@@24v@@@@o@@#""P[@@@Ш@г%+error_tracePjPu@@-3@Y@A@@2@@@.@#** v@@@Ш@г-%error v)@г1+unificationvv@@9@@@>4@@A@@ @8@@@@4@@ 43@%errorm$%@б%traceг+error_trace12@@ @@@N332233333@<vp@A@@б1unification_traceгҠ7unification_error_traceDE@@ @@@O@@г%errorQR@@ @@@P @@@@Q#Z @@5*@@R'^ @@@a@@rr@@@@.#mapnlm @б@б@А!a@]\@S3wvvwwwww@E\@A} ~@@А!b@_\@T @@@ @@U@@б@г!t@А!a'"@@@-@@@W) @@г!t%&@А!b/7"$@@@5@@@Y> @@@@@ZA@@@4@@[D @@@@@s@@@@K@oA@=A@A@A@a[A@ @@t@m@@3@\o@A3@@A}'*@@@}}@@@]WA@0*A@@@h@`ZA@@A@j@A@ A@5@.@A@icA@ICA@A@  A@ C =A@  A@_#A@A@aA@1@O@H@A@A@A@u@n@@A@D@@O@J@@@3#""#####@@A@yA@60A@A@A@tn@@@z@@@^ @A@ H************************************************************************>A@@?A@L@ H DBMMEBM@ H OCaml JCKC@ H PDQD3@ H Florian Angeletti, projet Cambium, Inria Paris VE44WE4@ H Antal Spector-Zabusky, Jane Street, New York \F]F@ H bGcG@ H Copyright 2018 Institut National de Recherche en Informatique et hHiHg@ H en Automatique. nIhhoIh@ H Copyright 2021 Jane Street Group LLC tJuJ@ H zK{KN@ H All rights reserved. This file is distributed under the terms of LOOLO@ H the GNU Lesser General Public License version 2.1, with the MM@ H special exception on linking described in the file LICENSE. NN5@ H O66O6@ H************************************************************************PP@ p* [trivial_expansion ty] creates an [expanded_type] whose expansion is also [ty]. Usually, you want [Ctype.expand_type] instead, since the expansion carries useful information; however, in certain circumstances, the error is about the expansion of the type, meaning that actually performing the expansion produces more confusing or inaccurate output.  D* [map_diff f {expected;got}] is [{expected=f expected; got=f got}] >* Scope escape related errors { w The type_expr argument of [Univ] is always a [Tunivar _], we keep a [type_expr] to track renaming in {!Printtyp} no @/* Type indices 5( Common H  H  @- Unification K n pK n @4 Equality & Moregen O  O  !@= Always [Second] for Moregen Q l Q l @( Common T  T  @- Unification W 4 6W 4 G@( Common `#%`#1@ < Unification & Moregen; included in Equality for simplicity jjH@ * The traces (['variety t]) are the core error types. However, we bundle them up into three "top-level" error types, which are used elsewhere: [unification_error], [equality_error], and [moregen_error]. In the case of [equality_error], this has to bundle in extra information; in general, it distinguishes the three types of errors and allows us to distinguish traces that are being built (or processed) from those that are complete and have become the final error. These error types have the invariants that their traces are nonempty; we ensure that through three smart constructors with matching names.  F* Wraps up the two different kinds of [comparison] errors in one type > +* Lift [swap_trace] to [unification_error] Ѡ * Just as outside [Subtype], we split traces, completed traces, and complete errors. However, in a minor asymmetry, the name [Subtype.error_trace] corresponds to the outside [error] type, and [Subtype.error] corresponds to the outside [*_error] types (e.g., [unification_error]). This [error] type has the invariant that the subtype trace is nonempty; note that no such invariant is imposed on the unification trace. 5* To avoid shadowing ^@-./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&' F/home/ci/builds/workspace/main/flambda/false/label/ocaml-ubuntu-latest >10/.-,+*)('&%$#"! @@0`8/cC"59 3A@@AAAAA@>@@(Asttypes0>n{T8cئ8CamlinternalFormatBasics0%FU(Q/Tu0CamlinternalLazy0&͂7 Pˆe0>"+$? QNL(1R*Format_doc0]mWϓ:Mݠ%Ident0">WA+9*X,Identifiable0 {d\FX'`(Location0a7cK_H%9)Longident0s `7mɕc+Outcometree0euWS~d栠)Parsetree0Uҩ=p>*%"e$Path0Y2kf֯J._Ϡ)Primitive0²~$xzT෠%Shape0oNՄBH&Stdlib0Lku]8_٠.Stdlib__Buffer08APF< t..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__Seq0nwzG&amg+Stdlib__Set0\$;7 +Stdlib__Sys0 -ռ鱦s5/-Stdlib__Uchar056uf4[_.Type_immediacy0A^abOhՠԐ0xH+}q)Unit_info0ڀh%((Warnings0mJɒkgr"+$? QNL(1RAcߒd@Ē@ J  -p@,Ȓ@  ۰HeW@8߰@$  /@T{@@ړ2'@ 3Ny#@ ߓ e@ВR@ ԕ @  аy@@@`9@;e@@ِ @flݰ   b  . հ t 3˓>@@$@|e@  @@r[@m@@@  bs@Z"@@  4@B,z@@@6@ϓ@@@  5@Ε@W@@by@Iư ɕ "@{@'D:@ؒ@@@ݕ3@@@3%@[e 7@@@@ w <@ -/m ƒ @<e  _  @ۓ@@P@@