diff --git a/build.xml b/build.xml
index c7f908c0..13c4c53e 100644
--- a/build.xml
+++ b/build.xml
@@ -780,6 +780,7 @@
+
@@ -2767,7 +2768,7 @@
-
+
@@ -2792,11 +2793,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2806,8 +2823,10 @@
+
+
@@ -2816,11 +2835,12 @@
+
-
+
@@ -2845,15 +2865,23 @@
+
+
+
+
+
+
+
+
@@ -2871,6 +2899,7 @@
+
@@ -3617,13 +3646,11 @@
-
-
@@ -3633,7 +3660,6 @@
-
@@ -3693,16 +3719,13 @@
-
-
-
@@ -4020,6 +4043,7 @@
+
diff --git a/coderules/languages/jetbrains.mps.lang.coderules/generator/template/main@generator.mps b/coderules/languages/jetbrains.mps.lang.coderules/generator/template/main@generator.mps
index 85fd7f8c..085d6527 100644
--- a/coderules/languages/jetbrains.mps.lang.coderules/generator/template/main@generator.mps
+++ b/coderules/languages/jetbrains.mps.lang.coderules/generator/template/main@generator.mps
@@ -13968,356 +13968,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/behavior.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/behavior.mps
index 3f0ab47f..af2a70c0 100644
--- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/behavior.mps
+++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/behavior.mps
@@ -1446,29 +1446,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/constraints.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/constraints.mps
index 1bb8a518..33aa1e3b 100644
--- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/constraints.mps
+++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/constraints.mps
@@ -746,23 +746,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/editor.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/editor.mps
index 7379e90e..5143a232 100644
--- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/editor.mps
+++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/editor.mps
@@ -4391,26 +4391,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/structure.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/structure.mps
index 198fbce6..81b7ee27 100644
--- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/structure.mps
+++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/structure.mps
@@ -1086,20 +1086,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/typesystem.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/typesystem.mps
index faa596e4..d94bbda2 100644
--- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/typesystem.mps
+++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/typesystem.mps
@@ -1446,48 +1446,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/coderules/languages/jetbrains.mps.lang.typechecking/generator/template/main@generator.mps b/coderules/languages/jetbrains.mps.lang.typechecking/generator/template/main@generator.mps
index 31a922b2..5394cf89 100644
--- a/coderules/languages/jetbrains.mps.lang.typechecking/generator/template/main@generator.mps
+++ b/coderules/languages/jetbrains.mps.lang.typechecking/generator/template/main@generator.mps
@@ -24,6 +24,12 @@
+
+
+
+
+
+
@@ -31,6 +37,7 @@
+
@@ -41,7 +48,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -49,20 +77,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -76,20 +125,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -101,6 +167,13 @@
+
+
+
+
+
+
+
@@ -110,18 +183,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -214,5 +322,362 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/languages/jetbrains.mps.lang.typechecking/jetbrains.mps.lang.typechecking.mpl b/coderules/languages/jetbrains.mps.lang.typechecking/jetbrains.mps.lang.typechecking.mpl
index a7fd866e..c2dd8e3a 100644
--- a/coderules/languages/jetbrains.mps.lang.typechecking/jetbrains.mps.lang.typechecking.mpl
+++ b/coderules/languages/jetbrains.mps.lang.typechecking/jetbrains.mps.lang.typechecking.mpl
@@ -23,6 +23,12 @@
86ef8290-12bb-4ca7-947f-093788f263a9(jetbrains.mps.lang.project)
f4ad079d-bc71-4ffb-9600-9328705cf998(jetbrains.mps.lang.descriptor)
f486b8aa-5b2d-4ec0-8ef5-8f45d773fb84(jetbrains.mps.lang.typechecking.runtime)
+ bbf5c548-7111-4a53-a117-cdefc664cf34(jetbrains.mps.logic.reactor)
+ cba985fe-1e96-4f16-9f8d-b07434405d4f(jetbrains.mps.lang.smodel.types)
+ da80355b-a098-4248-9ec8-70d10dd7e9af(jetbrains.mps.reporting.runtime)
+ f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)
+ 6998f568-f0e9-473b-b4a8-9efb6499fc8d(jetbrains.mps.typechecking)
+ e45a8b22-94f2-427f-b849-77f254c4eef5(jetbrains.mps.lang.aspect#3274906159125927726)
@@ -53,8 +59,10 @@
+
+
@@ -65,14 +73,17 @@
+
+
+
diff --git a/coderules/languages/jetbrains.mps.lang.typechecking/models/behavior.mps b/coderules/languages/jetbrains.mps.lang.typechecking/models/behavior.mps
index 557fa662..858b8824 100644
--- a/coderules/languages/jetbrains.mps.lang.typechecking/models/behavior.mps
+++ b/coderules/languages/jetbrains.mps.lang.typechecking/models/behavior.mps
@@ -3,9 +3,80 @@
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/languages/jetbrains.mps.lang.typechecking/models/constraints.mps b/coderules/languages/jetbrains.mps.lang.typechecking/models/constraints.mps
index 5045fac9..a4851eec 100644
--- a/coderules/languages/jetbrains.mps.lang.typechecking/models/constraints.mps
+++ b/coderules/languages/jetbrains.mps.lang.typechecking/models/constraints.mps
@@ -3,9 +3,57 @@
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/languages/jetbrains.mps.lang.typechecking/models/editor.mps b/coderules/languages/jetbrains.mps.lang.typechecking/models/editor.mps
index e4c2f291..cfd11652 100644
--- a/coderules/languages/jetbrains.mps.lang.typechecking/models/editor.mps
+++ b/coderules/languages/jetbrains.mps.lang.typechecking/models/editor.mps
@@ -5,7 +5,59 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/languages/jetbrains.mps.lang.typechecking/models/structure.mps b/coderules/languages/jetbrains.mps.lang.typechecking/models/structure.mps
index 17a84010..ce9a5f9f 100644
--- a/coderules/languages/jetbrains.mps.lang.typechecking/models/structure.mps
+++ b/coderules/languages/jetbrains.mps.lang.typechecking/models/structure.mps
@@ -5,7 +5,46 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/languages/jetbrains.mps.lang.typechecking/models/typesystem.mps b/coderules/languages/jetbrains.mps.lang.typechecking/models/typesystem.mps
index 1886c305..7512d64c 100644
--- a/coderules/languages/jetbrains.mps.lang.typechecking/models/typesystem.mps
+++ b/coderules/languages/jetbrains.mps.lang.typechecking/models/typesystem.mps
@@ -3,9 +3,110 @@
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/languages/jetbrains.mps.typechecking.testlang/models/types.mps b/coderules/languages/jetbrains.mps.typechecking.testlang/models/types.mps
index 8dcafd71..b46a0804 100644
--- a/coderules/languages/jetbrains.mps.typechecking.testlang/models/types.mps
+++ b/coderules/languages/jetbrains.mps.typechecking.testlang/models/types.mps
@@ -8,6 +8,7 @@
+
@@ -180,6 +181,11 @@
+
+
+
+
+
@@ -203,9 +209,6 @@
-
-
-
diff --git a/coderules/solutions/jetbrains.mps.typechecking.build/models/jetbrains.mps.typechecking.build.mps b/coderules/solutions/jetbrains.mps.typechecking.build/models/jetbrains.mps.typechecking.build.mps
index d8e9f30a..5dc18215 100644
--- a/coderules/solutions/jetbrains.mps.typechecking.build/models/jetbrains.mps.typechecking.build.mps
+++ b/coderules/solutions/jetbrains.mps.typechecking.build/models/jetbrains.mps.typechecking.build.mps
@@ -821,6 +821,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1670,16 +1706,6 @@
-
-
-
-
-
-
-
-
-
-
@@ -1698,12 +1724,6 @@
-
-
-
-
-
-
diff --git a/samples/fitch/build.xml b/samples/fitch/build.xml
index 794266b4..04ac6dee 100644
--- a/samples/fitch/build.xml
+++ b/samples/fitch/build.xml
@@ -51,6 +51,7 @@
+
diff --git a/samples/fitch/languages/jetbrains.mps.fitch/models/types.mps b/samples/fitch/languages/jetbrains.mps.fitch/models/types.mps
index df569ac6..b0ecb8ab 100644
--- a/samples/fitch/languages/jetbrains.mps.fitch/models/types.mps
+++ b/samples/fitch/languages/jetbrains.mps.fitch/models/types.mps
@@ -6,6 +6,7 @@
+
@@ -67,6 +68,11 @@
+
+
+
+
+
@@ -81,9 +87,6 @@
-
-
-
diff --git a/samples/lambdacalc/build.xml b/samples/lambdacalc/build.xml
index 6184709a..d4a14510 100644
--- a/samples/lambdacalc/build.xml
+++ b/samples/lambdacalc/build.xml
@@ -61,6 +61,7 @@
+
diff --git a/samples/lambdacalc/languages/sample.lambdacalc/models/sample.lambdacalc.types.mps b/samples/lambdacalc/languages/sample.lambdacalc/models/sample.lambdacalc.types.mps
index 56b4e1cd..a84d57fd 100644
--- a/samples/lambdacalc/languages/sample.lambdacalc/models/sample.lambdacalc.types.mps
+++ b/samples/lambdacalc/languages/sample.lambdacalc/models/sample.lambdacalc.types.mps
@@ -11,6 +11,7 @@
+
@@ -242,6 +243,11 @@
+
+
+
+
+
@@ -301,9 +307,6 @@
-
-
-
diff --git a/samples/mpscore/languages/jetbrains.mps.baseLanguageExt/models/jetbrains.mps.baseLanguageExt.types.mps b/samples/mpscore/languages/jetbrains.mps.baseLanguageExt/models/jetbrains.mps.baseLanguageExt.types.mps
index 79d0a6b9..2a762b67 100644
--- a/samples/mpscore/languages/jetbrains.mps.baseLanguageExt/models/jetbrains.mps.baseLanguageExt.types.mps
+++ b/samples/mpscore/languages/jetbrains.mps.baseLanguageExt/models/jetbrains.mps.baseLanguageExt.types.mps
@@ -523,6 +523,11 @@
+
+
+
+
+
@@ -636,9 +641,6 @@
-
-
-