diff --git a/coderules/languages/jetbrains.mps.typechecking.testlang/jetbrains.mps.typechecking.testlang.mpl b/coderules/languages/jetbrains.mps.typechecking.testlang/jetbrains.mps.typechecking.testlang.mpl
index 5fb813a7..a3eb8a98 100644
--- a/coderules/languages/jetbrains.mps.typechecking.testlang/jetbrains.mps.typechecking.testlang.mpl
+++ b/coderules/languages/jetbrains.mps.typechecking.testlang/jetbrains.mps.typechecking.testlang.mpl
@@ -44,11 +44,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -77,7 +93,6 @@
-
@@ -123,9 +138,9 @@
-
+
diff --git a/coderules/solutions/jetbrains.mps.coderules.testhelper/models/jetbrains.mps.coderules.testhelper.testutil.mps b/coderules/solutions/jetbrains.mps.coderules.testhelper/models/jetbrains.mps.coderules.testhelper.testutil.mps
index 107587d2..78a9ade5 100644
--- a/coderules/solutions/jetbrains.mps.coderules.testhelper/models/jetbrains.mps.coderules.testhelper.testutil.mps
+++ b/coderules/solutions/jetbrains.mps.coderules.testhelper/models/jetbrains.mps.coderules.testhelper.testutil.mps
@@ -539,13 +539,13 @@
-
-
+
+
-
+
-
+
@@ -917,17 +917,23 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking@tests.mps b/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking@tests.mps
index 511c79f7..a19d51d5 100644
--- a/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking@tests.mps
+++ b/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking@tests.mps
@@ -44,6 +44,7 @@
+
@@ -61,6 +62,7 @@
+
@@ -90,6 +92,9 @@
+
+
+
@@ -134,6 +139,9 @@
+
+
+
@@ -209,9 +217,16 @@
+
+
+
+
+
+
+
@@ -260,6 +275,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -3034,6 +3059,90 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4176,6 +4285,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4184,13 +4307,16 @@
-
+
+
+
+
@@ -4398,6 +4524,17 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/solutions/jetbrains.mps.coderules.typechecking.ui/models/jetbrains.mps.coderules.typechecking.ui.plugin.mps b/coderules/solutions/jetbrains.mps.coderules.typechecking.ui/models/jetbrains.mps.coderules.typechecking.ui.plugin.mps
index 4e135e0e..1f241140 100644
--- a/coderules/solutions/jetbrains.mps.coderules.typechecking.ui/models/jetbrains.mps.coderules.typechecking.ui.plugin.mps
+++ b/coderules/solutions/jetbrains.mps.coderules.typechecking.ui/models/jetbrains.mps.coderules.typechecking.ui.plugin.mps
@@ -1135,12 +1135,9 @@
-
-
-
-
-
-
+
+
+
@@ -1861,12 +1858,9 @@
-
-
-
-
-
-
+
+
+
diff --git a/coderules/solutions/jetbrains.mps.coderules.typechecking/models/jetbrains.mps.coderules.typechecking.plugin.mps b/coderules/solutions/jetbrains.mps.coderules.typechecking/models/jetbrains.mps.coderules.typechecking.plugin.mps
index 9945cdfd..c10e2f8d 100644
--- a/coderules/solutions/jetbrains.mps.coderules.typechecking/models/jetbrains.mps.coderules.typechecking.plugin.mps
+++ b/coderules/solutions/jetbrains.mps.coderules.typechecking/models/jetbrains.mps.coderules.typechecking.plugin.mps
@@ -403,10 +403,6 @@
-
-
-
-
@@ -745,14 +741,9 @@
-
-
-
-
-
-
-
-
+
+
+
@@ -781,14 +772,9 @@
-
-
-
-
-
-
-
-
+
+
+
@@ -825,14 +811,9 @@
-
-
-
-
-
-
-
-
+
+
+
@@ -884,22 +865,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
+
+
diff --git a/coderules/solutions/jetbrains.mps.coderules.typechecking/models/jetbrains.mps.coderules.typechecking.service.mps b/coderules/solutions/jetbrains.mps.coderules.typechecking/models/jetbrains.mps.coderules.typechecking.service.mps
index 1f50bdfc..3f254d98 100644
--- a/coderules/solutions/jetbrains.mps.coderules.typechecking/models/jetbrains.mps.coderules.typechecking.service.mps
+++ b/coderules/solutions/jetbrains.mps.coderules.typechecking/models/jetbrains.mps.coderules.typechecking.service.mps
@@ -6422,6 +6422,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -6651,7 +6698,7 @@
-
+
@@ -6660,6 +6707,12 @@
+
+
+
+
+
+
@@ -6673,6 +6726,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -12127,6 +12230,15 @@
+
+
+
+
+
+
+
+
+
@@ -17466,13 +17578,16 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
@@ -17800,17 +17915,17 @@
-
+
-
+
-
+
@@ -17820,6 +17935,7 @@
+
@@ -17829,13 +17945,16 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
@@ -17886,13 +18005,16 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
@@ -18193,94 +18315,23 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
-
+
@@ -18290,6 +18341,7 @@
+
@@ -18299,13 +18351,16 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/coderules/solutions/jetbrains.mps.lang.coderules.template/models/jetbrains.mps.lang.coderules.aspect.mps b/coderules/solutions/jetbrains.mps.lang.coderules.template/models/jetbrains.mps.lang.coderules.aspect.mps
index a66fea0b..13617fec 100644
--- a/coderules/solutions/jetbrains.mps.lang.coderules.template/models/jetbrains.mps.lang.coderules.aspect.mps
+++ b/coderules/solutions/jetbrains.mps.lang.coderules.template/models/jetbrains.mps.lang.coderules.aspect.mps
@@ -26,6 +26,7 @@
+
@@ -33,12 +34,16 @@
+
+
+
+
@@ -86,6 +91,9 @@
+
+
+
@@ -146,6 +154,7 @@
+
@@ -170,6 +179,7 @@
+
@@ -267,6 +277,11 @@
+
+
+
+
+
@@ -276,6 +291,7 @@
+
@@ -1251,190 +1267,159 @@
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1449,15 +1434,54 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1502,9 +1526,9 @@
-
+
-
+
@@ -1537,18 +1561,175 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1556,7 +1737,7 @@
-
+
@@ -1564,7 +1745,7 @@
-
+
@@ -1586,11 +1767,14 @@
-
+
+
+
+
@@ -1604,7 +1788,7 @@
-
+
@@ -1626,6 +1810,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1880,8 +2078,233 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -1892,152 +2315,40 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -2046,6 +2357,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2073,28 +2498,20 @@
-
-
-
-
+
+
-
-
-
-
+
+
-
-
-
-
+
+
-
-
-
-
+
+
@@ -2103,10 +2520,8 @@
-
-
-
-
+
+
@@ -2119,10 +2534,8 @@
-
-
-
-
+
+
@@ -2658,6 +3071,7 @@
+
@@ -2688,6 +3102,83 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2743,6 +3234,96 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2970,6 +3551,12 @@
+
+
+
+
+
+
@@ -3309,6 +3896,15 @@
+
+
+
+
+
+
+
+
+
@@ -3400,21 +3996,49 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
@@ -3431,7 +4055,7 @@
-
+
@@ -3495,6 +4119,7 @@
+
@@ -3579,6 +4204,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4323,7 +4979,7 @@
-
+
@@ -4391,6 +5047,15 @@
+
+
+
+
+
+
+
+
+
@@ -4485,6 +5150,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4527,7 +5229,7 @@
-
+
@@ -4582,6 +5284,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4593,6 +5344,456 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4603,36 +5804,42 @@
-
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
-
+
@@ -4644,6 +5851,9 @@
+
+
+
@@ -4701,6 +5911,11 @@
+
+
+
+
+
@@ -4731,7 +5946,9 @@
-
+
+
+
@@ -5250,7 +6467,7 @@
-
+