lc: Fix forgotten typeOf rule for 'fix' operator. Add typeclasses tests to test suite.

This commit is contained in:
grigorii.kirgizov 2019-01-23 12:39:59 +03:00
parent 2a44bb0ef0
commit 41e8d3d96e
3 changed files with 355 additions and 150 deletions

View File

@ -3211,7 +3211,7 @@
</node>
<node concept="3Aqczg" id="48ZGLP8pIwG" role="3cqZAp">
<node concept="3A8Hvi" id="2BWkXu0IGGz" role="3Aqpz8">
<node concept="a7P8L" id="2BWkXu0IGPA" role="3A8wtg">
<node concept="a7P8L" id="47tET_Xnm$4" role="3A8wtg">
<ref role="a7OzE" node="3Lj6UsgFxni" resolve="FI" />
</node>
<node concept="ns1u0" id="7VBaGntJSGM" role="3A8w4Q">
@ -3570,6 +3570,9 @@
<node concept="1nLNMm" id="6$MtiK8IMVY" role="1nLNNK">
<node concept="0eUR_" id="6K6UrSyHVKf" role="0UC6o">
<node concept="3NuqgR" id="1YCbHn1AKJS" role="0eVf_">
<node concept="aZer4" id="47tET_XmEk4" role="3XD1gS">
<property role="TrG5h" value="TFix" />
</node>
<node concept="aZer4" id="1YCbHn1AQkt" role="3XD1gS">
<property role="TrG5h" value="F" />
</node>
@ -3585,113 +3588,115 @@
</node>
<node concept="3Aq9E8" id="1YCbHn1AJPl" role="1nLNMd">
<node concept="3I6sU6" id="1YCbHn1AJPm" role="3Ip0Jz">
<node concept="3I6s7M" id="48ZGLP7ptkH" role="3I6sU7">
<node concept="3A8Hvi" id="48ZGLP7ptlt" role="3I6s78">
<node concept="a7P8L" id="48ZGLP7ptlA" role="3A8wtg">
<ref role="a7OzE" node="48ZGLP7ptk2" resolve="TVs" />
</node>
<node concept="ns1u0" id="48ZGLP7ptlF" role="3A8w4Q">
<ref role="ns1xF" node="48ZGLP7pl6j" resolve="Cons" />
<node concept="nsMwS" id="48ZGLP7ptlH" role="ns1xD">
<ref role="nsMwP" node="48ZGLP7pl6$" resolve="head" />
<node concept="1nq8_$" id="48ZGLP7ptlN" role="nsMwV">
<node concept="a7P8L" id="48ZGLP7ptlL" role="1nq8_t">
<ref role="a7OzE" node="1YCbHn1AKJT" resolve="A" />
</node>
<node concept="3IrJb3" id="47tET_XmE7n" role="3I6sU7">
<node concept="3clFbS" id="47tET_XmE7o" role="3IrJb0">
<node concept="3Aqczg" id="47tET_XmE7p" role="3cqZAp">
<node concept="3A8Hvi" id="48ZGLP7ptlt" role="3Aqpz8">
<node concept="a7P8L" id="48ZGLP7ptlA" role="3A8wtg">
<ref role="a7OzE" node="48ZGLP7ptk2" resolve="TVs" />
</node>
</node>
<node concept="nsMwS" id="48ZGLP7ptlU" role="ns1xD">
<ref role="nsMwP" node="48ZGLP7pl6J" resolve="tail" />
<node concept="1nq8_$" id="48ZGLP7ptm2" role="nsMwV">
<node concept="ns1u0" id="48ZGLP7ptm1" role="1nq8_t">
<ref role="ns1xF" node="48ZGLP7pl6N" resolve="Nil" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3I6s7M" id="1YCbHn1AQkJ" role="3I6sU7">
<node concept="3A8Hvi" id="1YCbHn1AQkD" role="3I6s78">
<node concept="a7P8L" id="1YCbHn1AQnZ" role="3A8wtg">
<ref role="a7OzE" node="1YCbHn1AQkt" resolve="F" />
</node>
<node concept="ns1u0" id="7VBaGntJSGD" role="3A8w4Q">
<ref role="ns1xF" node="7VBaGntJSG6" resolve="Forall" />
<node concept="nsMwS" id="7VBaGntJSGE" role="ns1xD">
<ref role="nsMwP" node="7VBaGntJSG8" resolve="type" />
<node concept="1nq8_$" id="PoGdiA49Tk" role="nsMwV">
<node concept="ns1u0" id="7VBaGntJSGy" role="1nq8_t">
<ref role="ns1xF" node="7VBaGntJSG2" resolve="Fun" />
<node concept="nsMwS" id="7VBaGntJSGz" role="ns1xD">
<ref role="nsMwP" node="7VBaGntJSG4" resolve="arg" />
<node concept="1nq8_$" id="PoGdiA49Td" role="nsMwV">
<node concept="ns1u0" id="7VBaGntJSGG" role="1nq8_t">
<ref role="ns1xF" node="7VBaGntJSG2" resolve="Fun" />
<node concept="nsMwS" id="7VBaGntJSGH" role="ns1xD">
<ref role="nsMwP" node="7VBaGntJSG4" resolve="arg" />
<node concept="1nq8_$" id="PoGdiA49T0" role="nsMwV">
<node concept="a7P8L" id="1YCbHn1AKKX" role="1nq8_t">
<ref role="a7OzE" node="1YCbHn1AKJT" resolve="A" />
</node>
</node>
</node>
<node concept="nsMwS" id="7VBaGntJSGI" role="ns1xD">
<ref role="nsMwP" node="7VBaGntJSG5" resolve="res" />
<node concept="1nq8_$" id="PoGdiA49T8" role="nsMwV">
<node concept="a7P8L" id="1YCbHn1AKU3" role="1nq8_t">
<ref role="a7OzE" node="1YCbHn1AKJT" resolve="A" />
</node>
</node>
</node>
</node>
<node concept="ns1u0" id="48ZGLP7ptlF" role="3A8w4Q">
<ref role="ns1xF" node="48ZGLP7pl6j" resolve="Cons" />
<node concept="nsMwS" id="48ZGLP7ptlH" role="ns1xD">
<ref role="nsMwP" node="48ZGLP7pl6$" resolve="head" />
<node concept="1nq8_$" id="48ZGLP7ptlN" role="nsMwV">
<node concept="a7P8L" id="48ZGLP7ptlL" role="1nq8_t">
<ref role="a7OzE" node="1YCbHn1AKJT" resolve="A" />
</node>
</node>
<node concept="nsMwS" id="7VBaGntJSG$" role="ns1xD">
<ref role="nsMwP" node="7VBaGntJSG5" resolve="res" />
<node concept="1nq8_$" id="PoGdiA49T1" role="nsMwV">
<node concept="a7P8L" id="1YCbHn1AL1c" role="1nq8_t">
<ref role="a7OzE" node="1YCbHn1AKJT" resolve="A" />
</node>
</node>
<node concept="nsMwS" id="48ZGLP7ptlU" role="ns1xD">
<ref role="nsMwP" node="48ZGLP7pl6J" resolve="tail" />
<node concept="1nq8_$" id="48ZGLP7ptm2" role="nsMwV">
<node concept="ns1u0" id="48ZGLP7ptm1" role="1nq8_t">
<ref role="ns1xF" node="48ZGLP7pl6N" resolve="Nil" />
</node>
</node>
</node>
</node>
</node>
<node concept="nsMwS" id="48ZGLP7ptjI" role="ns1xD">
<ref role="nsMwP" node="48ZGLP7pnre" resolve="typeVars" />
<node concept="1nq8_$" id="48ZGLP7ptmb" role="nsMwV">
<node concept="a7P8L" id="48ZGLP7ptm9" role="1nq8_t">
<ref role="a7OzE" node="48ZGLP7ptk2" resolve="TVs" />
</node>
<node concept="3Aqczg" id="47tET_XmEmv" role="3cqZAp">
<node concept="3A8Hvi" id="47tET_XmEmw" role="3Aqpz8">
<node concept="a7P8L" id="47tET_XmEmx" role="3A8wtg">
<ref role="a7OzE" node="1YCbHn1AQkt" resolve="F" />
</node>
<node concept="ns1u0" id="47tET_XmEm_" role="3A8w4Q">
<ref role="ns1xF" node="7VBaGntJSG2" resolve="Fun" />
<node concept="nsMwS" id="47tET_XmEmA" role="ns1xD">
<ref role="nsMwP" node="7VBaGntJSG4" resolve="arg" />
<node concept="1nq8_$" id="47tET_XmEmB" role="nsMwV">
<node concept="ns1u0" id="47tET_XmEmC" role="1nq8_t">
<ref role="ns1xF" node="7VBaGntJSG2" resolve="Fun" />
<node concept="nsMwS" id="47tET_XmEmD" role="ns1xD">
<ref role="nsMwP" node="7VBaGntJSG4" resolve="arg" />
<node concept="1nq8_$" id="47tET_XmEmE" role="nsMwV">
<node concept="a7P8L" id="47tET_XmEmF" role="1nq8_t">
<ref role="a7OzE" node="1YCbHn1AKJT" resolve="A" />
</node>
</node>
</node>
<node concept="nsMwS" id="47tET_XmEmG" role="ns1xD">
<ref role="nsMwP" node="7VBaGntJSG5" resolve="res" />
<node concept="1nq8_$" id="47tET_XmEmH" role="nsMwV">
<node concept="a7P8L" id="47tET_XmEmI" role="1nq8_t">
<ref role="a7OzE" node="1YCbHn1AKJT" resolve="A" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="nsMwS" id="47tET_XmEmJ" role="ns1xD">
<ref role="nsMwP" node="7VBaGntJSG5" resolve="res" />
<node concept="1nq8_$" id="47tET_XmEmK" role="nsMwV">
<node concept="a7P8L" id="47tET_XmEmL" role="1nq8_t">
<ref role="a7OzE" node="1YCbHn1AKJT" resolve="A" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3I6s7M" id="1YCbHn1AKBE" role="3I6sU7">
<node concept="3Aqt3T" id="4KALGUEh0bj" role="3I6s78">
<ref role="3AqCNq" node="4KALGUEgLbG" resolve="typeOf" />
<node concept="3BlFb$" id="4KALGUEh0bg" role="3AunhB">
<node concept="3A2sRY" id="4KALGUEh0bh" role="3BlFb_">
<ref role="3A2yKK" node="1YCbHn1AJ$P" resolve="fix" />
<node concept="3Aqczg" id="47tET_XmElm" role="3cqZAp">
<node concept="3Aqt3T" id="47tET_XmElk" role="3Aqpz8">
<ref role="3AqCNq" node="48ZGLP7O6fU" resolve="gen" />
<node concept="a7P8L" id="47tET_XmEm5" role="3AunhB">
<ref role="a7OzE" node="47tET_XmEk4" resolve="TFix" />
</node>
<node concept="a7P8L" id="47tET_XmEmh" role="3AunhB">
<ref role="a7OzE" node="1YCbHn1AQkt" resolve="F" />
</node>
<node concept="a7P8L" id="47tET_XmEmo" role="3AunhB">
<ref role="a7OzE" node="48ZGLP7ptk2" resolve="TVs" />
</node>
</node>
</node>
<node concept="a7P8L" id="4KALGUEh0bi" role="3AunhB">
<ref role="a7OzE" node="1YCbHn1AQkt" resolve="F" />
</node>
</node>
</node>
<node concept="3I6s7M" id="48ZGLP7w$kd" role="3I6sU7">
<node concept="3Aqt3T" id="48ZGLP7w$kb" role="3I6s78">
<ref role="3AqCNq" node="48ZGLP7ph5I" resolve="newTypeVars" />
<node concept="3BlFb$" id="48ZGLP7w$kP" role="3AunhB">
<node concept="3A2sRY" id="48ZGLP7w$kW" role="3BlFb_">
<ref role="3A2yKK" node="1YCbHn1AJ$P" resolve="fix" />
<node concept="3Aqczg" id="47tET_XmE7r" role="3cqZAp">
<node concept="3Aqt3T" id="4KALGUEh0bj" role="3Aqpz8">
<ref role="3AqCNq" node="4KALGUEgLbG" resolve="typeOf" />
<node concept="3BlFb$" id="4KALGUEh0bg" role="3AunhB">
<node concept="3A2sRY" id="4KALGUEh0bh" role="3BlFb_">
<ref role="3A2yKK" node="1YCbHn1AJ$P" resolve="fix" />
</node>
</node>
<node concept="a7P8L" id="47tET_XmEr6" role="3AunhB">
<ref role="a7OzE" node="47tET_XmEk4" resolve="TFix" />
</node>
</node>
</node>
<node concept="ns1u0" id="48ZGLP7w$l8" role="3AunhB">
<ref role="ns1xF" node="48ZGLP7pl6N" resolve="Nil" />
<node concept="3Aqczg" id="47tET_XmE7s" role="3cqZAp">
<node concept="3Aqt3T" id="48ZGLP7w$kb" role="3Aqpz8">
<ref role="3AqCNq" node="48ZGLP7ph5I" resolve="newTypeVars" />
<node concept="3BlFb$" id="48ZGLP7w$kP" role="3AunhB">
<node concept="3A2sRY" id="48ZGLP7w$kW" role="3BlFb_">
<ref role="3A2yKK" node="1YCbHn1AJ$P" resolve="fix" />
</node>
</node>
<node concept="ns1u0" id="48ZGLP7w$l8" role="3AunhB">
<ref role="ns1xF" node="48ZGLP7pl6N" resolve="Nil" />
</node>
</node>
</node>
</node>
</node>
@ -3820,69 +3825,73 @@
</node>
<node concept="3Aq9E8" id="JqEP$8sltH" role="1nLNMd">
<node concept="3I6sU6" id="JqEP$8sltI" role="3Ip0Jz">
<node concept="3I6s7M" id="JqEP$8smKm" role="3I6sU7">
<node concept="3A8Hvi" id="JqEP$8smKg" role="3I6s78">
<node concept="a7P8L" id="JqEP$8smKu" role="3A8wtg">
<ref role="a7OzE" node="JqEP$8smG7" resolve="T" />
</node>
<node concept="ns1u0" id="JqEP$8smKz" role="3A8w4Q">
<ref role="ns1xF" node="JqEP$8smGC" resolve="Pair" />
<node concept="nsMwS" id="JqEP$8smK_" role="ns1xD">
<ref role="nsMwP" node="JqEP$8smGP" resolve="fst" />
<node concept="1nq8_$" id="JqEP$8smKF" role="nsMwV">
<node concept="a7P8L" id="JqEP$8smKD" role="1nq8_t">
<ref role="a7OzE" node="JqEP$8sltl" resolve="L" />
</node>
<node concept="3IrJb3" id="47tET_XnmJn" role="3I6sU7">
<node concept="3clFbS" id="47tET_XnmJo" role="3IrJb0">
<node concept="3Aqczg" id="47tET_XnmJp" role="3cqZAp">
<node concept="3A8Hvi" id="JqEP$8smKg" role="3Aqpz8">
<node concept="a7P8L" id="JqEP$8smKu" role="3A8wtg">
<ref role="a7OzE" node="JqEP$8smG7" resolve="T" />
</node>
</node>
<node concept="nsMwS" id="JqEP$8smKO" role="ns1xD">
<ref role="nsMwP" node="JqEP$8smGY" resolve="snd" />
<node concept="1nq8_$" id="JqEP$8smKX" role="nsMwV">
<node concept="a7P8L" id="JqEP$8smKV" role="1nq8_t">
<ref role="a7OzE" node="JqEP$8sltx" resolve="R" />
<node concept="ns1u0" id="JqEP$8smKz" role="3A8w4Q">
<ref role="ns1xF" node="JqEP$8smGC" resolve="Pair" />
<node concept="nsMwS" id="JqEP$8smK_" role="ns1xD">
<ref role="nsMwP" node="JqEP$8smGP" resolve="fst" />
<node concept="1nq8_$" id="JqEP$8smKF" role="nsMwV">
<node concept="a7P8L" id="JqEP$8smKD" role="1nq8_t">
<ref role="a7OzE" node="JqEP$8sltl" resolve="L" />
</node>
</node>
</node>
<node concept="nsMwS" id="JqEP$8smKO" role="ns1xD">
<ref role="nsMwP" node="JqEP$8smGY" resolve="snd" />
<node concept="1nq8_$" id="JqEP$8smKX" role="nsMwV">
<node concept="a7P8L" id="JqEP$8smKV" role="1nq8_t">
<ref role="a7OzE" node="JqEP$8sltx" resolve="R" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3I6s7M" id="JqEP$8smMz" role="3I6sU7">
<node concept="3Aqt3T" id="JqEP$8smMx" role="3I6s78">
<ref role="3AqCNq" node="4KALGUEgLbG" resolve="typeOf" />
<node concept="3BlFb$" id="JqEP$8smMN" role="3AunhB">
<node concept="3A2sRY" id="JqEP$8smMU" role="3BlFb_">
<ref role="3A2yKK" node="JqEP$8slrV" resolve="pair" />
<node concept="3Aqczg" id="47tET_XnmJq" role="3cqZAp">
<node concept="3Aqt3T" id="JqEP$8smMx" role="3Aqpz8">
<ref role="3AqCNq" node="4KALGUEgLbG" resolve="typeOf" />
<node concept="3BlFb$" id="JqEP$8smMN" role="3AunhB">
<node concept="3A2sRY" id="JqEP$8smMU" role="3BlFb_">
<ref role="3A2yKK" node="JqEP$8slrV" resolve="pair" />
</node>
</node>
<node concept="a7P8L" id="JqEP$8smN6" role="3AunhB">
<ref role="a7OzE" node="JqEP$8smG7" resolve="T" />
</node>
</node>
</node>
<node concept="a7P8L" id="JqEP$8smN6" role="3AunhB">
<ref role="a7OzE" node="JqEP$8smG7" resolve="T" />
</node>
</node>
</node>
<node concept="3I6s7M" id="48ZGLP7ptoj" role="3I6sU7">
<node concept="3Aqt3T" id="48ZGLP7ptoh" role="3I6s78">
<ref role="3AqCNq" node="48ZGLP7pl5A" resolve="append" />
<node concept="a7P8L" id="48ZGLP7ptoC" role="3AunhB">
<ref role="a7OzE" node="48ZGLP7ptmF" resolve="TVsL" />
</node>
<node concept="a7P8L" id="48ZGLP7ptoJ" role="3AunhB">
<ref role="a7OzE" node="48ZGLP7ptmS" resolve="TVsR" />
</node>
<node concept="a7P8L" id="48ZGLP7ptoT" role="3AunhB">
<ref role="a7OzE" node="48ZGLP7ptn4" resolve="TVs" />
</node>
</node>
</node>
<node concept="3I6s7M" id="48ZGLP7ptpu" role="3I6sU7">
<node concept="3Aqt3T" id="48ZGLP7ptvl" role="3I6s78">
<ref role="3AqCNq" node="48ZGLP7ph5I" resolve="newTypeVars" />
<node concept="3BlFb$" id="48ZGLP7yBs2" role="3AunhB">
<node concept="3A2sRY" id="48ZGLP7yBsl" role="3BlFb_">
<ref role="3A2yKK" node="JqEP$8slrV" resolve="pair" />
<node concept="3Aqczg" id="47tET_XnmJr" role="3cqZAp">
<node concept="3Aqt3T" id="48ZGLP7ptoh" role="3Aqpz8">
<ref role="3AqCNq" node="48ZGLP7pl5A" resolve="append" />
<node concept="a7P8L" id="48ZGLP7ptoC" role="3AunhB">
<ref role="a7OzE" node="48ZGLP7ptmF" resolve="TVsL" />
</node>
<node concept="a7P8L" id="48ZGLP7ptoJ" role="3AunhB">
<ref role="a7OzE" node="48ZGLP7ptmS" resolve="TVsR" />
</node>
<node concept="a7P8L" id="48ZGLP7ptoT" role="3AunhB">
<ref role="a7OzE" node="48ZGLP7ptn4" resolve="TVs" />
</node>
</node>
</node>
<node concept="a7P8L" id="48ZGLP7ptvv" role="3AunhB">
<ref role="a7OzE" node="48ZGLP7ptn4" resolve="TVs" />
<node concept="3Aqczg" id="47tET_XnmJs" role="3cqZAp">
<node concept="3Aqt3T" id="48ZGLP7ptvl" role="3Aqpz8">
<ref role="3AqCNq" node="48ZGLP7ph5I" resolve="newTypeVars" />
<node concept="3BlFb$" id="48ZGLP7yBs2" role="3AunhB">
<node concept="3A2sRY" id="48ZGLP7yBsl" role="3BlFb_">
<ref role="3A2yKK" node="JqEP$8slrV" resolve="pair" />
</node>
</node>
<node concept="a7P8L" id="48ZGLP7ptvv" role="3AunhB">
<ref role="a7OzE" node="48ZGLP7ptn4" resolve="TVs" />
</node>
</node>
</node>
</node>
</node>

View File

@ -4465,9 +4465,6 @@
<property role="TrG5h" value="d" />
</node>
</node>
<node concept="1U20sH" id="47tET_WwUys" role="lGtFl">
<property role="1U20sK" value="error" />
</node>
</node>
</node>
<node concept="1DVIo5" id="47tET_Whdej" role="3EUmh">
@ -4541,6 +4538,9 @@
</node>
</node>
</node>
<node concept="1U20sH" id="47tET_Xpa$f" role="lGtFl">
<property role="1U20sK" value="error" />
</node>
</node>
</node>
<node concept="1DVJbV" id="47tET_Whdid" role="1DVIru">
@ -5092,6 +5092,134 @@
</node>
</node>
</node>
<node concept="1DVJbV" id="47tET_XljbM" role="1DVIru">
<node concept="1DVIrG" id="47tET_XljbN" role="j9CMd">
<node concept="1DVIoH" id="47tET_XljbO" role="1DVIrJ">
<property role="TrG5h" value="ii3_bad" />
</node>
<node concept="1DVIo5" id="47tET_XljbP" role="1DVIrD">
<node concept="1DVIo5" id="47tET_XljbQ" role="1DVIo4">
<node concept="t0$VC" id="47tET_XljbR" role="1DVIo4">
<ref role="t0$VJ" node="2O9ahh6x9Cr" resolve="mappend" />
</node>
<node concept="3TPRf" id="47tET_XljbS" role="1DVIo8">
<node concept="1DVIrU" id="47tET_XljbT" role="3TPR0">
<node concept="1DVIrB" id="47tET_XljbU" role="1DVIr_">
<node concept="1DVIoH" id="47tET_XljbV" role="1DVIrA">
<property role="TrG5h" value="x" />
</node>
</node>
<node concept="t0$VC" id="47tET_XljbW" role="1DVIrw">
<ref role="t0$VJ" node="47tET_XljbV" resolve="x" />
</node>
</node>
<node concept="3JbUGG" id="47tET_XljbX" role="3TPQk">
<node concept="1FkZV4" id="47tET_XljbY" role="1FkZ4g">
<ref role="1FvTW1" node="47tET_XljbZ" resolve="x" />
<ref role="1FkZV7" node="2O9ahh6x9Cg" resolve="Monoid" />
</node>
<node concept="2BbKIm" id="47tET_XljbZ" role="5lUUh">
<property role="TrG5h" value="x" />
</node>
<node concept="1jz_ff" id="47tET_Xljc0" role="3JbKvY">
<node concept="aFS0r" id="47tET_Xljc1" role="1jz_fp">
<ref role="aFS0e" node="47tET_XljbZ" resolve="x" />
</node>
<node concept="aFS0r" id="47tET_Xljc2" role="1jz_f_">
<ref role="aFS0e" node="47tET_XljbZ" resolve="x" />
</node>
</node>
</node>
</node>
</node>
<node concept="1DVIrU" id="47tET_Xljc3" role="1DVIo8">
<node concept="1DVIrB" id="47tET_Xljc4" role="1DVIr_">
<node concept="1DVIoH" id="47tET_Xljc5" role="1DVIrA">
<property role="TrG5h" value="y" />
</node>
</node>
<node concept="t0$VC" id="47tET_XljjQ" role="1DVIrw">
<ref role="t0$VJ" node="47tET_Xljc5" resolve="y" />
</node>
</node>
</node>
<node concept="1U20sH" id="47tET_XpfVS" role="lGtFl">
<property role="1U20sK" value="error" />
</node>
</node>
</node>
<node concept="1DVJbV" id="47tET_Xljn5" role="1DVIru">
<node concept="1DVIrG" id="47tET_Xljn6" role="j9CMd">
<node concept="1DVIoH" id="47tET_Xljn7" role="1DVIrJ">
<property role="TrG5h" value="ii3a_unclear" />
</node>
<node concept="1DVIo5" id="47tET_Xljn8" role="1DVIrD">
<node concept="1DVIo5" id="47tET_Xljn9" role="1DVIo4">
<node concept="t0$VC" id="47tET_Xljna" role="1DVIo4">
<ref role="t0$VJ" node="2O9ahh6x9Cr" resolve="mappend" />
</node>
<node concept="3TPRf" id="47tET_Xljnb" role="1DVIo8">
<node concept="1DVIrU" id="47tET_Xljnc" role="3TPR0">
<node concept="1DVIrB" id="47tET_Xljnd" role="1DVIr_">
<node concept="1DVIoH" id="47tET_Xljne" role="1DVIrA">
<property role="TrG5h" value="x" />
</node>
</node>
<node concept="t0$VC" id="47tET_Xljnf" role="1DVIrw">
<ref role="t0$VJ" node="47tET_Xljne" resolve="x" />
</node>
</node>
<node concept="3JbUGG" id="47tET_Xljng" role="3TPQk">
<node concept="1FkZV4" id="47tET_Xljnh" role="1FkZ4g">
<ref role="1FvTW1" node="47tET_Xljni" resolve="x" />
<ref role="1FkZV7" node="2O9ahh6x9Cg" resolve="Monoid" />
</node>
<node concept="2BbKIm" id="47tET_Xljni" role="5lUUh">
<property role="TrG5h" value="x" />
</node>
<node concept="1jz_ff" id="47tET_Xljnj" role="3JbKvY">
<node concept="aFS0r" id="47tET_Xljnk" role="1jz_fp">
<ref role="aFS0e" node="47tET_Xljni" resolve="x" />
</node>
<node concept="aFS0r" id="47tET_Xljnl" role="1jz_f_">
<ref role="aFS0e" node="47tET_Xljni" resolve="x" />
</node>
</node>
</node>
</node>
</node>
<node concept="3TPRf" id="47tET_Xljvw" role="1DVIo8">
<node concept="1DVIrU" id="47tET_Xljvx" role="3TPR0">
<node concept="1DVIrB" id="47tET_Xljvy" role="1DVIr_">
<node concept="1DVIoH" id="47tET_Xljvz" role="1DVIrA">
<property role="TrG5h" value="y" />
</node>
</node>
<node concept="t0$VC" id="47tET_Xljv$" role="1DVIrw">
<ref role="t0$VJ" node="47tET_Xljvz" resolve="y" />
</node>
</node>
<node concept="3JbUGG" id="47tET_Xljv_" role="3TPQk">
<node concept="1FkZV4" id="47tET_XljvA" role="1FkZ4g">
<ref role="1FvTW1" node="47tET_XljvB" resolve="y" />
<ref role="1FkZV7" node="2O9ahh6x9Cg" resolve="Monoid" />
</node>
<node concept="2BbKIm" id="47tET_XljvB" role="5lUUh">
<property role="TrG5h" value="y" />
</node>
<node concept="1jz_ff" id="47tET_XljvC" role="3JbKvY">
<node concept="aFS0r" id="47tET_XljvD" role="1jz_fp">
<ref role="aFS0e" node="47tET_XljvB" resolve="y" />
</node>
<node concept="aFS0r" id="47tET_XljvE" role="1jz_f_">
<ref role="aFS0e" node="47tET_XljvB" resolve="y" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1DVJbV" id="47tET_Xliwm" role="1DVIru">
<node concept="1DVIrG" id="47tET_Xliwn" role="j9CMd">
<node concept="1DVIoH" id="47tET_Xliwo" role="1DVIrJ">
@ -5156,7 +5284,7 @@
</node>
</node>
<node concept="1DVIrt" id="47tET_WGoBb">
<property role="TrG5h" value="Typeclasses" />
<property role="TrG5h" value="DemoTypeclasses" />
<node concept="1FkZNM" id="47tET_WGoBc" role="1DVIru">
<property role="TrG5h" value="Monoid1" />
<node concept="2BbKIm" id="47tET_WGoBd" role="1FkZN_">

View File

@ -433,6 +433,74 @@
</node>
</node>
</node>
<node concept="1LZb2c" id="47tET_Xohmr" role="1SL9yI">
<property role="TrG5h" value="DemoTypeclasses" />
<node concept="3cqZAl" id="47tET_Xohms" role="3clF45" />
<node concept="3clFbS" id="47tET_Xohmt" role="3clF47">
<node concept="2Hmddi" id="47tET_Xohmu" role="3cqZAp">
<node concept="2OqwBi" id="47tET_Xohmv" role="2Hmdds">
<node concept="2OqwBi" id="47tET_Xohmw" role="2Oq$k0">
<node concept="2YIFZM" id="47tET_Xohmx" role="2Oq$k0">
<ref role="37wK5l" to="tj24:27bTNFfaOo$" resolve="ofNode" />
<ref role="1Pybhc" to="tj24:1N_0WA5JxZO" resolve="TestLaunchTypechecking" />
<node concept="2OqwBi" id="47tET_Xohmy" role="37wK5m">
<node concept="2WthIp" id="47tET_Xohmz" role="2Oq$k0" />
<node concept="2XshWL" id="47tET_Xohm$" role="2OqNvi">
<ref role="2WH_rO" node="35YJGAJTxCf" resolve="resolve" />
<node concept="2tJFMh" id="47tET_Xohm_" role="2XxRq1">
<node concept="ZC_QK" id="47tET_XohUr" role="2tJFKM">
<ref role="2aWVGs" to="ysck:47tET_WGoBb" resolve="DemoTypeclasses" />
</node>
</node>
</node>
</node>
<node concept="1jxXqW" id="47tET_XohmB" role="37wK5m" />
</node>
<node concept="liA8E" id="47tET_XohmC" role="2OqNvi">
<ref role="37wK5l" to="tj24:27bTNFfaVLW" resolve="skipLocal" />
</node>
</node>
<node concept="liA8E" id="47tET_XohmD" role="2OqNvi">
<ref role="37wK5l" to="tj24:27bTNFfaYS2" resolve="checkTypes" />
</node>
</node>
</node>
</node>
</node>
<node concept="1LZb2c" id="47tET_XoiCv" role="1SL9yI">
<property role="TrG5h" value="DemoConstraints" />
<node concept="3cqZAl" id="47tET_XoiCw" role="3clF45" />
<node concept="3clFbS" id="47tET_XoiCx" role="3clF47">
<node concept="2Hmddi" id="47tET_XoiCy" role="3cqZAp">
<node concept="2OqwBi" id="47tET_XoiCz" role="2Hmdds">
<node concept="2OqwBi" id="47tET_XoiC$" role="2Oq$k0">
<node concept="2YIFZM" id="47tET_XoiC_" role="2Oq$k0">
<ref role="37wK5l" to="tj24:27bTNFfaOo$" resolve="ofNode" />
<ref role="1Pybhc" to="tj24:1N_0WA5JxZO" resolve="TestLaunchTypechecking" />
<node concept="2OqwBi" id="47tET_XoiCA" role="37wK5m">
<node concept="2WthIp" id="47tET_XoiCB" role="2Oq$k0" />
<node concept="2XshWL" id="47tET_XoiCC" role="2OqNvi">
<ref role="2WH_rO" node="35YJGAJTxCf" resolve="resolve" />
<node concept="2tJFMh" id="47tET_XoiCD" role="2XxRq1">
<node concept="ZC_QK" id="47tET_Xoj9p" role="2tJFKM">
<ref role="2aWVGs" to="ysck:2O9ahh6x9Cb" resolve="DemoConstraints" />
</node>
</node>
</node>
</node>
<node concept="1jxXqW" id="47tET_XoiCF" role="37wK5m" />
</node>
<node concept="liA8E" id="47tET_XoiCG" role="2OqNvi">
<ref role="37wK5l" to="tj24:27bTNFfaVLW" resolve="skipLocal" />
</node>
</node>
<node concept="liA8E" id="47tET_XoiCH" role="2OqNvi">
<ref role="37wK5l" to="tj24:27bTNFfaYS2" resolve="checkTypes" />
</node>
</node>
</node>
</node>
</node>
<node concept="2XrIbr" id="35YJGAJTxCf" role="1qtyYc">
<property role="TrG5h" value="resolve" />
<node concept="37vLTG" id="35YJGAJTxCF" role="3clF46">