diff --git a/build.xml b/build.xml
index da86bbe2..c1a8e6f9 100644
--- a/build.xml
+++ b/build.xml
@@ -616,6 +616,7 @@
+
@@ -1713,11 +1714,11 @@
-
+
@@ -2639,7 +2640,7 @@
-
+
@@ -2652,21 +2653,22 @@
-
+
-
-
-
+
+
+
+
@@ -2685,9 +2687,12 @@
+
+
+
@@ -3098,10 +3103,10 @@
-
+
diff --git a/typechecking/solutions/jetbrains.mps.typechecking.build/models/jetbrains.mps.typechecking.build.mps b/typechecking/solutions/jetbrains.mps.typechecking.build/models/jetbrains.mps.typechecking.build.mps
index b5e7baa9..68e2f8a2 100644
--- a/typechecking/solutions/jetbrains.mps.typechecking.build/models/jetbrains.mps.typechecking.build.mps
+++ b/typechecking/solutions/jetbrains.mps.typechecking.build/models/jetbrains.mps.typechecking.build.mps
@@ -1088,18 +1088,18 @@
-
-
-
-
-
-
+
+
+
+
+
+
@@ -1680,6 +1680,12 @@
+
+
+
+
+
+
diff --git a/typechecking/solutions/jetbrains.mps.typechecking.test/jetbrains.mps.lang.typechecking.test.msd b/typechecking/solutions/jetbrains.mps.typechecking.test/jetbrains.mps.lang.typechecking.test.msd
index 4c700ef6..37f1d5d9 100644
--- a/typechecking/solutions/jetbrains.mps.typechecking.test/jetbrains.mps.lang.typechecking.test.msd
+++ b/typechecking/solutions/jetbrains.mps.typechecking.test/jetbrains.mps.lang.typechecking.test.msd
@@ -27,6 +27,7 @@
+
diff --git a/typechecking/solutions/jetbrains.mps.typechecking.test/models/jetbrains.mps.typechecking@tests.mps b/typechecking/solutions/jetbrains.mps.typechecking.test/models/jetbrains.mps.typechecking@tests.mps
index 8d714bc5..f8e1a3f6 100644
--- a/typechecking/solutions/jetbrains.mps.typechecking.test/models/jetbrains.mps.typechecking@tests.mps
+++ b/typechecking/solutions/jetbrains.mps.typechecking.test/models/jetbrains.mps.typechecking@tests.mps
@@ -16,6 +16,7 @@
+
@@ -46,6 +47,15 @@
+
+
+
+
+
+
+
+
+
@@ -122,6 +132,7 @@
+
@@ -966,21 +977,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -998,11 +994,21 @@
-
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
@@ -1016,9 +1022,12 @@
-
-
-
+
+
+
+
+
+
diff --git a/typechecking/solutions/jetbrains.mps.typechecking.ui/jetbrains.mps.typechecking.ui.msd b/typechecking/solutions/jetbrains.mps.typechecking.ui/jetbrains.mps.typechecking.ui.msd
index d674962f..3191fa83 100644
--- a/typechecking/solutions/jetbrains.mps.typechecking.ui/jetbrains.mps.typechecking.ui.msd
+++ b/typechecking/solutions/jetbrains.mps.typechecking.ui/jetbrains.mps.typechecking.ui.msd
@@ -21,6 +21,7 @@
bfbdd672-7ff5-403f-af4f-16da5226f34c(jetbrains.mps.findUsages.runtime)
6998f568-f0e9-473b-b4a8-9efb6499fc8d(jetbrains.mps.typechecking)
ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)
+ 0fda14cc-a416-4c81-869a-2175d8b3325d(jetbrains.mps.baseLanguageExt)
@@ -48,9 +49,14 @@
+
+
+
+
+
diff --git a/typechecking/solutions/jetbrains.mps.typechecking.ui/models/ui.plugin.mps b/typechecking/solutions/jetbrains.mps.typechecking.ui/models/ui.plugin.mps
index 6883bd79..a0da2a8b 100644
--- a/typechecking/solutions/jetbrains.mps.typechecking.ui/models/ui.plugin.mps
+++ b/typechecking/solutions/jetbrains.mps.typechecking.ui/models/ui.plugin.mps
@@ -101,6 +101,8 @@
+
+
@@ -568,6 +570,11 @@
+
+
+
+
+
@@ -580,12 +587,20 @@
+
+
+
+
+
+
+
+
@@ -639,6 +654,14 @@
+
+
+
+
+
+
+
+
@@ -796,14 +819,14 @@
-
+
-
+
@@ -869,6 +892,9 @@
+
+
+
@@ -25849,18 +25875,18 @@
-
+
-
+
-
+
@@ -29565,10 +29591,13 @@
-
+
-
-
+
+
+
+
+
@@ -29608,7 +29637,7 @@
-
+
@@ -29638,8 +29667,13 @@
-
-
+
+
+
+
+
+
+
@@ -29743,14 +29777,11 @@
-
-
-
-
-
+
+
-
-
+
+
@@ -30602,23 +30633,30 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
@@ -30627,44 +30665,14 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
@@ -30797,6 +30805,263 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -30824,134 +31089,21 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -31040,7 +31192,7 @@
-
+
@@ -31153,7 +31305,7 @@
-
+
@@ -31164,7 +31316,7 @@
-
+
@@ -31302,46 +31454,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
@@ -31376,6 +31492,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -31389,104 +31517,9 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -31502,7 +31535,7 @@
-
+
@@ -31524,7 +31557,7 @@
-
+
@@ -31543,7 +31576,7 @@
-
+
@@ -31557,10 +31590,10 @@
-
+
-
+
@@ -31575,7 +31608,7 @@
-
+
@@ -31589,7 +31622,7 @@
-
+
@@ -31608,7 +31641,7 @@
-
+
@@ -31619,13 +31652,13 @@
-
+
-
+
-
+
@@ -31664,7 +31697,7 @@
-
+
@@ -31686,7 +31719,7 @@
-
+
@@ -31714,7 +31747,7 @@
-
+
@@ -31736,7 +31769,7 @@
-
+
@@ -31771,18 +31804,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
@@ -31790,29 +31811,391 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -31884,11 +32267,11 @@
-
+
-
+
@@ -32004,7 +32387,7 @@
-
+
@@ -32265,7 +32648,7 @@
-
+
@@ -32275,7 +32658,7 @@
-
+
@@ -33880,5 +34263,195 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/typechecking/solutions/jetbrains.mps.typechecking/models/plugin.mps b/typechecking/solutions/jetbrains.mps.typechecking/models/plugin.mps
index 80a3ece5..ef862dfa 100644
--- a/typechecking/solutions/jetbrains.mps.typechecking/models/plugin.mps
+++ b/typechecking/solutions/jetbrains.mps.typechecking/models/plugin.mps
@@ -27,6 +27,7 @@
+
@@ -87,6 +88,9 @@
+
+
+
@@ -2864,5 +2868,339 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/typechecking/solutions/jetbrains.mps.typechecking/models/service.mps b/typechecking/solutions/jetbrains.mps.typechecking/models/service.mps
index b929852a..1569aa88 100644
--- a/typechecking/solutions/jetbrains.mps.typechecking/models/service.mps
+++ b/typechecking/solutions/jetbrains.mps.typechecking/models/service.mps
@@ -3162,17 +3162,6 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -3225,28 +3214,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -3260,10 +3227,187 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -3283,40 +3427,39 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
@@ -3334,14 +3477,22 @@
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
@@ -3350,142 +3501,259 @@
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -3850,31 +4118,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -4093,6 +4336,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4261,29 +4624,70 @@
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4294,13 +4698,19 @@
-
+
+
+
+
+
+
+
@@ -4468,12 +4878,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
@@ -4514,6 +4942,13 @@
+
+
+
+
+
+
+
@@ -4528,6 +4963,11 @@
+
+
+
+
+
diff --git a/typesystem2/languages/jetbrains.mps.lang.typesystem2/generator/template/main@generator.mps b/typesystem2/languages/jetbrains.mps.lang.typesystem2/generator/template/main@generator.mps
index dc0fd889..db295a2e 100644
--- a/typesystem2/languages/jetbrains.mps.lang.typesystem2/generator/template/main@generator.mps
+++ b/typesystem2/languages/jetbrains.mps.lang.typesystem2/generator/template/main@generator.mps
@@ -766,7 +766,7 @@
-
+
@@ -883,6 +883,11 @@
+
+
+
+
+
@@ -6020,12 +6025,20 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -19946,23 +19959,85 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -19970,6 +20045,12 @@
+
+
+
+
+
+
@@ -19979,12 +20060,16 @@
-
+
-
-
+
+
+
+
+
+
@@ -20001,7 +20086,7 @@
-
+
@@ -20009,15 +20094,11 @@
-
-
-
+
-
-
-
+
@@ -20028,21 +20109,18 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -20083,7 +20161,7 @@
-
+
@@ -20094,96 +20172,85 @@
-
-
+
+
-
+
-
+
+
+
+
+
-
+
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
-
-
+
-
+
+
+
diff --git a/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/editor.mps b/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/editor.mps
index 07f1867e..44dba237 100644
--- a/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/editor.mps
+++ b/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/editor.mps
@@ -6842,5 +6842,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/structure.mps b/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/structure.mps
index badade68..02225ecc 100644
--- a/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/structure.mps
+++ b/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/structure.mps
@@ -1589,5 +1589,15 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/typesystem2/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains.mps.lang.typesystem2.evaluation.mps b/typesystem2/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains.mps.lang.typesystem2.evaluation.mps
index 5eb06f75..2b82e684 100644
--- a/typesystem2/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains.mps.lang.typesystem2.evaluation.mps
+++ b/typesystem2/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains.mps.lang.typesystem2.evaluation.mps
@@ -489,6 +489,7 @@
+
@@ -775,22 +776,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
@@ -809,11 +840,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -844,7 +890,7 @@
-
+
@@ -867,7 +913,7 @@
-
+
@@ -880,7 +926,7 @@
-
+
@@ -892,11 +938,11 @@
-
+
-
+
@@ -911,7 +957,7 @@
-
+
@@ -921,7 +967,7 @@
-
+
@@ -931,7 +977,7 @@
-
+
@@ -941,7 +987,7 @@
-
+
@@ -967,7 +1013,7 @@
-
+
@@ -977,7 +1023,7 @@
-
+
@@ -1022,6 +1068,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1123,7 +1191,7 @@
-
+
@@ -2924,19 +2992,9 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
@@ -2957,9 +3015,34 @@
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2981,7 +3064,7 @@
-
+
@@ -3229,19 +3312,19 @@
-
-
-
+
+
+
-
+
-
+
-
+
@@ -3385,13 +3468,13 @@
-
-
-
+
+
+
-
+
@@ -3450,7 +3533,7 @@
-
+
@@ -3465,12 +3548,32 @@
-
-
-
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3499,7 +3602,7 @@
-
+
@@ -3675,6 +3778,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3685,7 +3807,7 @@
-
+
@@ -3865,8 +3987,8 @@
-
-
+
+
@@ -3876,7 +3998,7 @@
-
+
@@ -5126,6 +5248,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -5308,19 +5445,38 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -5328,7 +5484,7 @@
-
+
@@ -5336,11 +5492,19 @@
-
+
+
+
+
+
+
+
+
+
@@ -5352,39 +5516,16 @@
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -5396,6 +5537,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -5549,20 +5735,96 @@
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -5655,8 +5917,8 @@
-
-
+
+
@@ -5736,34 +5998,49 @@
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -5945,8 +6222,8 @@
-
-
+
+
@@ -6129,8 +6406,8 @@
-
-
+
+
@@ -7839,8 +8116,8 @@
-
-
+
+
@@ -8391,8 +8668,8 @@
-
-
+
+
@@ -9830,37 +10107,43 @@
-
+
-
-
+
+
+
+
+
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
@@ -11216,5 +11499,321 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains.mps.lang.typesystem2.rule.mps b/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains.mps.lang.typesystem2.rule.mps
index c5024486..701e18a4 100644
--- a/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains.mps.lang.typesystem2.rule.mps
+++ b/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains.mps.lang.typesystem2.rule.mps
@@ -1996,21 +1996,41 @@
-
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
@@ -2020,7 +2040,7 @@
-
+
@@ -2028,11 +2048,15 @@
-
+
+
+
+
+
@@ -2045,42 +2069,84 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+