Remove 'error' type-like term from bl typesystem

It was aimed at precluding cascading typechecking failures.
(There was some case with typechecking 'hasBound' after incorrect bind.)

It seems controversial. Typechecking with it is no more predictable
than with free variables left unbound in case of error.
With current tests almost nothing changes after removing it.
This commit is contained in:
Grigorii Kirgizov 2020-06-25 12:07:28 +03:00
parent 424b473b8d
commit cba5ff86ed
1 changed files with 66 additions and 463 deletions

View File

@ -6570,78 +6570,6 @@
</node>
</node>
</node>
<node concept="1nLNMY" id="3hZrJU65dHd" role="1nK1Vg">
<property role="TrG5h" value="containedIn_errorType" />
<node concept="3clFbS" id="3hZrJU65dHe" role="1nLNMH">
<node concept="1nLNNL" id="3hZrJU65dHf" role="3cqZAp">
<node concept="1nLNMm" id="3hZrJU65dHg" role="1nLNNK">
<node concept="3Aq93q" id="3hZrJU65dHh" role="1nLNMb">
<node concept="3I6sU6" id="3hZrJU65dHi" role="3Ip0Jz">
<node concept="3I6s7M" id="3hZrJU65dHj" role="3I6sU7">
<node concept="3Aqt3T" id="3hZrJU65dHk" role="3I6s78">
<ref role="3AqCNq" node="6KkyQm4aRV3" resolve="containedIn" />
<node concept="1HFMs5" id="3hZrJU65dHl" role="3AunhB">
<node concept="a7P8L" id="3hZrJU65dHm" role="1uarlU">
<ref role="a7OzE" node="3hZrJU65dHq" resolve="S" />
</node>
<node concept="ns1u0" id="3hZrJU65dHn" role="1uarlW">
<ref role="ns1xF" node="4lCLOtwq2Oz" resolve="error" />
</node>
</node>
<node concept="a7P8L" id="3hZrJU65dHo" role="3AunhB">
<ref role="a7OzE" node="3hZrJU65dHr" resolve="T" />
</node>
</node>
</node>
</node>
</node>
<node concept="3NuqgR" id="3hZrJU65dHp" role="0Rg$4">
<node concept="aZer4" id="3hZrJU65dHq" role="3XD1gS">
<property role="TrG5h" value="S" />
</node>
<node concept="aZer4" id="3hZrJU65dHr" role="3XD1gS">
<property role="TrG5h" value="T" />
</node>
<node concept="32pEOW" id="3hZrJU65dHs" role="3vLBG7" />
</node>
</node>
</node>
<node concept="3clFbH" id="3hZrJU65dHt" role="3cqZAp" />
<node concept="1nLNNL" id="3hZrJU65dHu" role="3cqZAp">
<node concept="1nLNMm" id="3hZrJU65dHv" role="1nLNNK">
<node concept="3Aq93q" id="3hZrJU65dHw" role="1nLNMb">
<node concept="3I6sU6" id="3hZrJU65dHx" role="3Ip0Jz">
<node concept="3I6s7M" id="3hZrJU65dHy" role="3I6sU7">
<node concept="3Aqt3T" id="3hZrJU65dHz" role="3I6s78">
<ref role="3AqCNq" node="6KkyQm4aRV3" resolve="containedIn" />
<node concept="a7P8L" id="3hZrJU65dH$" role="3AunhB">
<ref role="a7OzE" node="3hZrJU65dHD" resolve="S" />
</node>
<node concept="1HFMs5" id="3hZrJU65dH_" role="3AunhB">
<node concept="a7P8L" id="3hZrJU65dHA" role="1uarlU">
<ref role="a7OzE" node="3hZrJU65dHE" resolve="T" />
</node>
<node concept="ns1u0" id="3hZrJU65dHB" role="1uarlW">
<ref role="ns1xF" node="4lCLOtwq2Oz" resolve="error" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3NuqgR" id="3hZrJU65dHC" role="0Rg$4">
<node concept="aZer4" id="3hZrJU65dHD" role="3XD1gS">
<property role="TrG5h" value="S" />
</node>
<node concept="aZer4" id="3hZrJU65dHE" role="3XD1gS">
<property role="TrG5h" value="T" />
</node>
<node concept="32pEOW" id="3hZrJU65dHF" role="3vLBG7" />
</node>
</node>
</node>
</node>
</node>
<node concept="1nLNMY" id="12QmIo_7smH" role="1nK1Vg">
<property role="TrG5h" value="containedIn_catchAll" />
<node concept="3clFbS" id="12QmIo_7smI" role="1nLNMH">
@ -10449,147 +10377,6 @@
</node>
</node>
</node>
<node concept="1nLNMY" id="4yZzE4kCtJ1" role="1nK1Vg">
<property role="TrG5h" value="converts_errorType" />
<node concept="3clFbS" id="4yZzE4kCtJ2" role="1nLNMH">
<node concept="3SKdUt" id="4yZzE4kCu6g" role="3cqZAp">
<node concept="1PaTwC" id="4yZzE4kCu6h" role="1aUNEU">
<node concept="3oM_SD" id="4yZzE4kCu6j" role="1PaTwD">
<property role="3oM_SC" value="error" />
</node>
<node concept="3oM_SD" id="4yZzE4kCu7i" role="1PaTwD">
<property role="3oM_SC" value="type" />
</node>
<node concept="3oM_SD" id="4yZzE4kCu7l" role="1PaTwD">
<property role="3oM_SC" value="is" />
</node>
<node concept="3oM_SD" id="4yZzE4kCu7p" role="1PaTwD">
<property role="3oM_SC" value="convertible" />
</node>
<node concept="3oM_SD" id="4yZzE4kCu7u" role="1PaTwD">
<property role="3oM_SC" value="to" />
</node>
<node concept="3oM_SD" id="4yZzE4kCu7$" role="1PaTwD">
<property role="3oM_SC" value="any" />
</node>
<node concept="3oM_SD" id="4yZzE4kCu7F" role="1PaTwD">
<property role="3oM_SC" value="type" />
</node>
</node>
</node>
<node concept="3SKdUt" id="2TBKtozZhkV" role="3cqZAp">
<node concept="1PaTwC" id="4yZzE4kCu7O" role="1aUNEU">
<node concept="3oM_SD" id="4yZzE4kCu7N" role="1PaTwD">
<property role="3oM_SC" value="to" />
</node>
<node concept="3oM_SD" id="4yZzE4kCu7Z" role="1PaTwD">
<property role="3oM_SC" value="avoid" />
</node>
<node concept="3oM_SD" id="4yZzE4kCu82" role="1PaTwD">
<property role="3oM_SC" value="producing" />
</node>
<node concept="3oM_SD" id="4yZzE4kCu86" role="1PaTwD">
<property role="3oM_SC" value="excessive" />
</node>
<node concept="3oM_SD" id="4yZzE4kCu8b" role="1PaTwD">
<property role="3oM_SC" value="type" />
</node>
<node concept="3oM_SD" id="4yZzE4kCu8h" role="1PaTwD">
<property role="3oM_SC" value="errors" />
</node>
</node>
</node>
<node concept="3SKdUt" id="2TBKtozZhkS" role="3cqZAp">
<node concept="1PaTwC" id="4yZzE4kCu8p" role="1aUNEU">
<node concept="3oM_SD" id="4yZzE4kCu8o" role="1PaTwD">
<property role="3oM_SC" value="after" />
</node>
<node concept="3oM_SD" id="4yZzE4kCu8F" role="1PaTwD">
<property role="3oM_SC" value="one" />
</node>
<node concept="3oM_SD" id="4yZzE4kCu8R" role="1PaTwD">
<property role="3oM_SC" value="has" />
</node>
<node concept="3oM_SD" id="4yZzE4kCu8V" role="1PaTwD">
<property role="3oM_SC" value="already" />
</node>
<node concept="3oM_SD" id="4yZzE4kCu90" role="1PaTwD">
<property role="3oM_SC" value="happened" />
</node>
</node>
</node>
<node concept="3clFbH" id="4yZzE4kCu5K" role="3cqZAp" />
<node concept="1nLNNL" id="4yZzE4kCtJ3" role="3cqZAp">
<node concept="1nLNMm" id="4yZzE4kCtJ4" role="1nLNNK">
<node concept="3Aq93q" id="4yZzE4kCtJ5" role="1nLNMb">
<property role="3ArMco" value="false" />
<node concept="3I6sU6" id="4yZzE4kCtJ6" role="3Ip0Jz">
<node concept="3I6s7M" id="4yZzE4kCtJ7" role="3I6sU7">
<node concept="3Aqt3T" id="4yZzE4kCtJ8" role="3I6s78">
<ref role="3AqCNq" node="3Qp4N06bUPu" resolve="convertsTo" />
<node concept="1HFMs5" id="4yZzE4kCtJ9" role="3AunhB">
<node concept="ns1u0" id="4yZzE4kCu2c" role="1uarlW">
<ref role="ns1xF" node="4lCLOtwq2Oz" resolve="error" />
</node>
<node concept="a7P8L" id="4yZzE4kCtJb" role="1uarlU">
<ref role="a7OzE" node="4yZzE4kCtJg" resolve="S" />
</node>
</node>
<node concept="a7P8L" id="4yZzE4kCtJe" role="3AunhB">
<ref role="a7OzE" node="4yZzE4kCtJh" resolve="T" />
</node>
</node>
</node>
</node>
</node>
<node concept="3NuqgR" id="4yZzE4kCtJf" role="0Rg$4">
<node concept="aZer4" id="4yZzE4kCtJg" role="3XD1gS">
<property role="TrG5h" value="S" />
</node>
<node concept="aZer4" id="4yZzE4kCtJh" role="3XD1gS">
<property role="TrG5h" value="T" />
</node>
<node concept="32pEOW" id="4yZzE4kCtJi" role="3vLBG7" />
</node>
</node>
</node>
<node concept="3clFbH" id="4yZzE4kCu4N" role="3cqZAp" />
<node concept="1nLNNL" id="4yZzE4kCu2X" role="3cqZAp">
<node concept="1nLNMm" id="4yZzE4kCu2Y" role="1nLNNK">
<node concept="3Aq93q" id="4yZzE4kCu2Z" role="1nLNMb">
<property role="3ArMco" value="false" />
<node concept="3I6sU6" id="4yZzE4kCu30" role="3Ip0Jz">
<node concept="3I6s7M" id="4yZzE4kCu31" role="3I6sU7">
<node concept="3Aqt3T" id="4yZzE4kCu32" role="3I6s78">
<ref role="3AqCNq" node="3Qp4N06bUPu" resolve="convertsTo" />
<node concept="a7P8L" id="4yZzE4kCu4D" role="3AunhB">
<ref role="a7OzE" node="4yZzE4kCu38" resolve="S" />
</node>
<node concept="1HFMs5" id="4yZzE4kCu40" role="3AunhB">
<node concept="a7P8L" id="4yZzE4kCu36" role="1uarlU">
<ref role="a7OzE" node="4yZzE4kCu39" resolve="T" />
</node>
<node concept="ns1u0" id="4yZzE4kCu4m" role="1uarlW">
<ref role="ns1xF" node="4lCLOtwq2Oz" resolve="error" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3NuqgR" id="4yZzE4kCu37" role="0Rg$4">
<node concept="aZer4" id="4yZzE4kCu38" role="3XD1gS">
<property role="TrG5h" value="S" />
</node>
<node concept="aZer4" id="4yZzE4kCu39" role="3XD1gS">
<property role="TrG5h" value="T" />
</node>
<node concept="32pEOW" id="4yZzE4kCu3a" role="3vLBG7" />
</node>
</node>
</node>
</node>
</node>
<node concept="1nLNMY" id="12QmIo_7sig" role="1nK1Vg">
<property role="TrG5h" value="converts_void" />
<node concept="3clFbS" id="12QmIo_7sih" role="1nLNMH">
@ -11203,20 +10990,6 @@
</node>
</node>
</node>
<node concept="3xSepi" id="6E2cNicdiiA" role="3xSepv">
<node concept="3Aq9E8" id="5o9$c3zQtk2" role="3xSepj">
<node concept="3I6sU6" id="5o9$c3zQtk3" role="3Ip0Jz">
<node concept="3I6s7M" id="4yZzE4k_WHQ" role="3I6sU7">
<node concept="3jm4v3" id="4NtT$ZxF4sg" role="3I6s78">
<ref role="3jm46O" node="4NtT$ZxF3O4" resolve="errorType" />
<node concept="a7P8L" id="4NtT$ZxF4sl" role="3jm6SO">
<ref role="a7OzE" node="5o9$c3zQtke" resolve="S" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
@ -11412,20 +11185,6 @@
</node>
</node>
</node>
<node concept="3xSepi" id="6E2cNicdiiB" role="3xSepv">
<node concept="3Aq9E8" id="5o9$c3zGerA" role="3xSepj">
<node concept="3I6sU6" id="5o9$c3zGerB" role="3Ip0Jz">
<node concept="3I6s7M" id="4yZzE4k_WM1" role="3I6sU7">
<node concept="3jm4v3" id="4NtT$ZxF4sT" role="3I6s78">
<ref role="3jm46O" node="4NtT$ZxF3O4" resolve="errorType" />
<node concept="a7P8L" id="4NtT$ZxF4sU" role="3jm6SO">
<ref role="a7OzE" node="5o9$c3zGerf" resolve="S" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
@ -11530,20 +11289,6 @@
</node>
</node>
</node>
<node concept="3xSepi" id="6E2cNicdiiC" role="3xSepv">
<node concept="3Aq9E8" id="5o9$c3zLTGG" role="3xSepj">
<node concept="3I6sU6" id="5o9$c3zLTGH" role="3Ip0Jz">
<node concept="3I6s7M" id="4yZzE4k_WNT" role="3I6sU7">
<node concept="3jm4v3" id="4NtT$ZxF4t4" role="3I6s78">
<ref role="3jm46O" node="4NtT$ZxF3O4" resolve="errorType" />
<node concept="a7P8L" id="4p2fwwrYLTp" role="3jm6SO">
<ref role="a7OzE" node="5o9$c3zLTGm" resolve="T" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
@ -23965,70 +23710,6 @@
<node concept="1nLNMY" id="12QmIo_7sgp" role="1nK1Vg">
<property role="TrG5h" value="recover_catchall" />
<node concept="3clFbS" id="12QmIo_7sgq" role="1nLNMH">
<node concept="1nLNNL" id="4yZzE4k_Wgh" role="3cqZAp">
<node concept="1nLNMm" id="4yZzE4k_Wgi" role="1nLNNK">
<node concept="3Aq93q" id="4yZzE4k_Wgj" role="1nLNMb">
<node concept="3I6sU6" id="4yZzE4k_Wgk" role="3Ip0Jz">
<node concept="3I6s7M" id="4yZzE4k_Wgl" role="3I6sU7">
<node concept="3Aqt3T" id="4yZzE4k_Wgm" role="3I6s78">
<ref role="3AqCNq" node="6Qzc0KyJGJT" resolve="recover" />
<node concept="a7P8L" id="4yZzE4k_Wgn" role="3AunhB">
<ref role="a7OzE" node="4yZzE4k_Wgw" resolve="Node" />
</node>
<node concept="1HFMs5" id="4yZzE4k_WnY" role="3AunhB">
<node concept="a7P8L" id="4yZzE4k_Wgo" role="1uarlU">
<ref role="a7OzE" node="4yZzE4k_Wgy" resolve="Type" />
</node>
<node concept="ns1u0" id="4yZzE4k_Wqa" role="1uarlW">
<ref role="ns1xF" node="4lCLOtwq2Oz" resolve="error" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3NuqgR" id="4yZzE4k_Wgu" role="0Rg$4">
<node concept="3Tqbb2" id="4yZzE4k_Wgv" role="3vLBG7" />
<node concept="aZer4" id="4yZzE4k_Wgw" role="3XD1gS">
<property role="TrG5h" value="Node" />
</node>
</node>
<node concept="3NuqgR" id="4yZzE4k_Wgx" role="0Rg$4">
<node concept="aZer4" id="4yZzE4k_Wgy" role="3XD1gS">
<property role="TrG5h" value="Type" />
</node>
<node concept="32pEOW" id="4yZzE4k_Wgz" role="3vLBG7" />
</node>
<node concept="3xSepi" id="4yZzE4k_Wg$" role="3xSepv">
<node concept="3Aq9E8" id="4yZzE4k_Wg_" role="3xSepj">
<node concept="3I6sU6" id="4yZzE4k_WgA" role="3Ip0Jz">
<node concept="3I6s7M" id="4yZzE4k_WgB" role="3I6sU7">
<node concept="3A8Hvi" id="4yZzE4k_WgC" role="3I6s78">
<node concept="a7P8L" id="4yZzE4k_WgD" role="3A8wtg">
<ref role="a7OzE" node="4yZzE4k_Wgw" resolve="Node" />
</node>
<node concept="HKQnh" id="4yZzE4k_WgE" role="3A8w4Q">
<node concept="2c44tf" id="4yZzE4k_WgF" role="HKQng">
<node concept="3SilvE" id="4yZzE4k_WgG" role="2c44tc">
<node concept="2EMmih" id="4yZzE4k_WgH" role="lGtFl">
<property role="P4ACc" value="7a5dda62-9140-4668-ab76-d5ed1746f2b2/1185281562361/1185281562362" />
<property role="2qtEX9" value="errorText" />
<property role="3qcH_f" value="true" />
<node concept="Xl_RD" id="4yZzE4k_WgI" role="2c44t1">
<property role="Xl_RC" value="type is unknown" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="4yZzE4k_WkE" role="3cqZAp" />
<node concept="1nLNNL" id="12QmIo_7sgr" role="3cqZAp">
<node concept="1nLNMm" id="12QmIo_7sgs" role="1nLNNK">
<node concept="3Aq93q" id="5QftlvwZ25J" role="1nLNMb">
@ -37528,6 +37209,7 @@
<ref role="2I9WkF" to="tpee:g7pOWCK" resolve="Classifier" />
</node>
<node concept="2OqwBi" id="4ZxjFYHiCbX" role="33vP2m">
<node concept="ANE8D" id="4ZxjFYHiC$x" role="2OqNvi" />
<node concept="2OqwBi" id="4ZxjFYHiBER" role="2Oq$k0">
<node concept="2OqwBi" id="ZJPHcumEJg" role="2Oq$k0">
<node concept="2OqwBi" id="4ZxjFYHiwR8" role="2Oq$k0">
@ -37559,7 +37241,6 @@
</node>
<node concept="1KnU$U" id="4ZxjFYHiC3x" role="2OqNvi" />
</node>
<node concept="ANE8D" id="4ZxjFYHiC$x" role="2OqNvi" />
</node>
</node>
</node>
@ -41123,10 +40804,6 @@
<property role="3uGXoX" value="true" />
<node concept="nspSf" id="4lCLOtwq2MG" role="ns1xx" />
</node>
<node concept="ns1x$" id="4lCLOtwq2Oz" role="ns1xc">
<property role="TrG5h" value="error" />
<node concept="nspSf" id="4lCLOtwq2O$" role="ns1xx" />
</node>
<node concept="ns1x$" id="3Z1xyIvO9F3" role="ns1xc">
<property role="TrG5h" value="runtimeType" />
<property role="3uGXoX" value="true" />
@ -41658,80 +41335,6 @@
<node concept="0oKg$" id="4NtT$ZxF3O3">
<property role="3GE5qa" value="macro" />
<property role="TrG5h" value="RulePartMacros" />
<node concept="3hwh0R" id="4NtT$ZxF3O4" role="0oKgB">
<property role="TrG5h" value="errorType" />
<node concept="3clFbS" id="4NtT$ZxF3O5" role="3hEL4E">
<node concept="3SKdUt" id="4yZzE4k_WUC" role="3cqZAp">
<node concept="1PaTwC" id="4yZzE4k_X2z" role="1aUNEU">
<node concept="3oM_SD" id="4yZzE4k_WZ5" role="1PaTwD">
<property role="3oM_SC" value="assigns" />
</node>
<node concept="3oM_SD" id="4yZzE4k_WVY" role="1PaTwD">
<property role="3oM_SC" value="error" />
</node>
<node concept="3oM_SD" id="4yZzE4k_WW8" role="1PaTwD">
<property role="3oM_SC" value="type" />
</node>
<node concept="3oM_SD" id="4yZzE4k_X00" role="1PaTwD">
<property role="3oM_SC" value="to" />
</node>
<node concept="3oM_SD" id="4yZzE4k_X3i" role="1PaTwD">
<property role="3oM_SC" value="avoid" />
</node>
</node>
</node>
<node concept="3SKdUt" id="2TBKtozZhlm" role="3cqZAp">
<node concept="1PaTwC" id="4yZzE4k_X3s" role="1aUNEU">
<node concept="3oM_SD" id="4yZzE4k_X3r" role="1PaTwD">
<property role="3oM_SC" value="freely" />
</node>
<node concept="3oM_SD" id="4yZzE4k_X0o" role="1PaTwD">
<property role="3oM_SC" value="floating" />
</node>
<node concept="3oM_SD" id="4yZzE4k_X0H" role="1PaTwD">
<property role="3oM_SC" value="unassigned" />
</node>
<node concept="3oM_SD" id="4yZzE4k_X1i" role="1PaTwD">
<property role="3oM_SC" value="logicals" />
</node>
</node>
</node>
<node concept="3SKdUt" id="2TBKtozZhlj" role="3cqZAp">
<node concept="1PaTwC" id="4yZzE4k_WXx" role="1aUNEU">
<node concept="3oM_SD" id="4yZzE4k_X1t" role="1PaTwD">
<property role="3oM_SC" value="and" />
</node>
<node concept="3oM_SD" id="4yZzE4k_X2j" role="1PaTwD">
<property role="3oM_SC" value="interrupts" />
</node>
<node concept="3oM_SD" id="4yZzE4k_X2u" role="1PaTwD">
<property role="3oM_SC" value="processing" />
</node>
</node>
</node>
<node concept="3Aqczg" id="4NtT$ZxF3TU" role="3cqZAp">
<node concept="3A8Hvi" id="4NtT$ZxF3TO" role="3Aqpz8">
<node concept="a7P8L" id="4NtT$ZxF3Uf" role="3A8wtg">
<ref role="a7OzE" node="4NtT$ZxF3P5" resolve="Type" />
</node>
<node concept="ns1u0" id="4NtT$ZxF3Um" role="3A8w4Q">
<ref role="ns1xF" node="4lCLOtwq2Oz" resolve="error" />
</node>
</node>
</node>
<node concept="3Aqczg" id="4NtT$ZxF3UJ" role="3cqZAp">
<node concept="3wWvb2" id="4NtT$ZxF3UI" role="3Aqpz8">
<node concept="3clFbT" id="4NtT$ZxF3V6" role="3wWo3s" />
</node>
</node>
</node>
<node concept="3uniRu" id="4NtT$ZxF3P4" role="3h32gL">
<node concept="aZer4" id="4NtT$ZxF3P5" role="3XD1gS">
<property role="TrG5h" value="Type" />
</node>
<node concept="32pEOW" id="4NtT$ZxF3Ph" role="3vLBG7" />
</node>
</node>
<node concept="3hwh0R" id="3hZrJU5cHtp" role="0oKgB">
<property role="TrG5h" value="checkMethodCall" />
<node concept="3hPv5a" id="3hZrJU5cZZN" role="3hP23H">
@ -44661,71 +44264,6 @@
</node>
<node concept="3clFbH" id="53tmmMslPO_" role="3cqZAp" />
<node concept="3clFbJ" id="53tmmMslPOA" role="3cqZAp">
<node concept="9aQIb" id="3vTJNooNZLE" role="9aQIa">
<node concept="3clFbS" id="53tmmMsU1OF" role="9aQI4">
<node concept="3SKdUt" id="53tmmMtpJiK" role="3cqZAp">
<node concept="1PaTwC" id="53tmmMtpJiL" role="1aUNEU">
<node concept="3oM_SD" id="53tmmMtpJiM" role="1PaTwD">
<property role="3oM_SC" value="default" />
</node>
<node concept="3oM_SD" id="53tmmMtpJj7" role="1PaTwD">
<property role="3oM_SC" value="expansion" />
</node>
<node concept="3oM_SD" id="53tmmMtpJja" role="1PaTwD">
<property role="3oM_SC" value="with" />
</node>
<node concept="3oM_SD" id="53tmmMtpJje" role="1PaTwD">
<property role="3oM_SC" value="type" />
</node>
<node concept="3oM_SD" id="53tmmMtpJjj" role="1PaTwD">
<property role="3oM_SC" value="variable" />
</node>
<node concept="3oM_SD" id="53tmmMtpJjp" role="1PaTwD">
<property role="3oM_SC" value="type" />
</node>
<node concept="3oM_SD" id="53tmmMtpJjw" role="1PaTwD">
<property role="3oM_SC" value="is" />
</node>
<node concept="3oM_SD" id="53tmmMtpJjC" role="1PaTwD">
<property role="3oM_SC" value="needed" />
</node>
</node>
</node>
<node concept="1DcWWT" id="53tmmMtpywD" role="3cqZAp">
<node concept="3clFbS" id="53tmmMtpywE" role="2LFqv$">
<node concept="3Aqczg" id="53tmmMtpywF" role="3cqZAp">
<node concept="3jm4v3" id="53tmmMtpywG" role="3Aqpz8">
<ref role="3jm46O" node="5itBwMaV9J5" resolve="typeVariable" />
<node concept="37vLTw" id="53tmmMtpywH" role="3jicU7">
<ref role="3cqZAo" node="53tmmMtpywN" resolve="tvd" />
</node>
<node concept="37vLTw" id="53tmmMtq2Pe" role="3jicU7">
<ref role="3cqZAo" node="53tmmMslPNn" resolve="subs" />
</node>
<node concept="a7P8L" id="53tmmMtpywJ" role="3jm6SO">
<ref role="a7OzE" node="53tmmMs9ij0" resolve="InstTyVars" />
<node concept="2OqwBi" id="53tmmMtpywK" role="3gCZO6">
<node concept="37vLTw" id="53tmmMtpywL" role="2Oq$k0">
<ref role="3cqZAo" node="53tmmMtpywN" resolve="tvd" />
</node>
<node concept="2bSWHS" id="53tmmMtpywM" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWsn" id="53tmmMtpywN" role="1Duv9x">
<property role="TrG5h" value="tvd" />
<node concept="3Tqbb2" id="53tmmMtpywO" role="1tU5fm">
<ref role="ehGHo" to="tpee:g96euPO" resolve="TypeVariableDeclaration" />
</node>
</node>
<node concept="37vLTw" id="53tmmMtpJjN" role="1DdaDG">
<ref role="3cqZAo" node="53tmmMslPMt" resolve="tvds" />
</node>
</node>
</node>
</node>
<node concept="3y3z36" id="3vTJNooNZLB" role="3clFbw">
<node concept="3hN9Ij" id="53tmmMtpAJc" role="3uHU7B">
<ref role="3hLkJx" node="53tmmMs9igS" resolve="tyArgs" />
@ -45016,6 +44554,71 @@
</node>
<node concept="3clFbH" id="3vTJNooNZpa" role="3cqZAp" />
</node>
<node concept="9aQIb" id="3vTJNooNZLE" role="9aQIa">
<node concept="3clFbS" id="53tmmMsU1OF" role="9aQI4">
<node concept="3SKdUt" id="53tmmMtpJiK" role="3cqZAp">
<node concept="1PaTwC" id="53tmmMtpJiL" role="1aUNEU">
<node concept="3oM_SD" id="53tmmMtpJiM" role="1PaTwD">
<property role="3oM_SC" value="default" />
</node>
<node concept="3oM_SD" id="53tmmMtpJj7" role="1PaTwD">
<property role="3oM_SC" value="expansion" />
</node>
<node concept="3oM_SD" id="53tmmMtpJja" role="1PaTwD">
<property role="3oM_SC" value="with" />
</node>
<node concept="3oM_SD" id="53tmmMtpJje" role="1PaTwD">
<property role="3oM_SC" value="type" />
</node>
<node concept="3oM_SD" id="53tmmMtpJjj" role="1PaTwD">
<property role="3oM_SC" value="variable" />
</node>
<node concept="3oM_SD" id="53tmmMtpJjp" role="1PaTwD">
<property role="3oM_SC" value="type" />
</node>
<node concept="3oM_SD" id="53tmmMtpJjw" role="1PaTwD">
<property role="3oM_SC" value="is" />
</node>
<node concept="3oM_SD" id="53tmmMtpJjC" role="1PaTwD">
<property role="3oM_SC" value="needed" />
</node>
</node>
</node>
<node concept="1DcWWT" id="53tmmMtpywD" role="3cqZAp">
<node concept="3clFbS" id="53tmmMtpywE" role="2LFqv$">
<node concept="3Aqczg" id="53tmmMtpywF" role="3cqZAp">
<node concept="3jm4v3" id="53tmmMtpywG" role="3Aqpz8">
<ref role="3jm46O" node="5itBwMaV9J5" resolve="typeVariable" />
<node concept="37vLTw" id="53tmmMtpywH" role="3jicU7">
<ref role="3cqZAo" node="53tmmMtpywN" resolve="tvd" />
</node>
<node concept="37vLTw" id="53tmmMtq2Pe" role="3jicU7">
<ref role="3cqZAo" node="53tmmMslPNn" resolve="subs" />
</node>
<node concept="a7P8L" id="53tmmMtpywJ" role="3jm6SO">
<ref role="a7OzE" node="53tmmMs9ij0" resolve="InstTyVars" />
<node concept="2OqwBi" id="53tmmMtpywK" role="3gCZO6">
<node concept="37vLTw" id="53tmmMtpywL" role="2Oq$k0">
<ref role="3cqZAo" node="53tmmMtpywN" resolve="tvd" />
</node>
<node concept="2bSWHS" id="53tmmMtpywM" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWsn" id="53tmmMtpywN" role="1Duv9x">
<property role="TrG5h" value="tvd" />
<node concept="3Tqbb2" id="53tmmMtpywO" role="1tU5fm">
<ref role="ehGHo" to="tpee:g96euPO" resolve="TypeVariableDeclaration" />
</node>
</node>
<node concept="37vLTw" id="53tmmMtpJjN" role="1DdaDG">
<ref role="3cqZAo" node="53tmmMslPMt" resolve="tvds" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>