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 fef3f220..5359aef0 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
@@ -322,6 +322,7 @@
+
@@ -370,6 +371,10 @@
+
+
+
+
@@ -392,6 +397,7 @@
+
@@ -455,6 +461,9 @@
+
+
+
@@ -756,10 +765,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -17971,56 +18022,15 @@
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
@@ -18457,21 +18467,15 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -18644,21 +18648,15 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -18704,21 +18702,15 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -18750,21 +18742,15 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -19333,5 +19319,79 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 2a6bcd96..30a86617 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
@@ -8,6 +8,7 @@
+
@@ -17,6 +18,10 @@
+
+
+
+
@@ -38,24 +43,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -69,20 +89,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -103,26 +139,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -207,5 +281,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 ada0e60c..cf0bf9d7 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
@@ -45,7 +45,9 @@
+
+
@@ -57,6 +59,7 @@
+
@@ -105,13 +108,27 @@
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -122,6 +139,8 @@
8865b7a8-5271-43d3-884c-6fd1d9cfdd34(MPS.OpenAPI)
6ed54515-acc8-4d1e-a16c-9fd6cfe951ea(MPS.Core)
+ f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)
+ 6998f568-f0e9-473b-b4a8-9efb6499fc8d(jetbrains.mps.coderules.typechecking)
@@ -132,10 +151,12 @@
+
+
@@ -144,8 +165,13 @@
+
+
+
+
+
@@ -155,13 +181,18 @@
+
+
+
+
+
@@ -173,10 +204,14 @@
+
+
+
+
@@ -187,7 +222,10 @@
+
+
+
f486b8aa-5b2d-4ec0-8ef5-8f45d773fb84(jetbrains.mps.lang.typechecking.runtime)
diff --git a/coderules/languages/jetbrains.mps.lang.typechecking/models/behavior.mps b/coderules/languages/jetbrains.mps.lang.typechecking/models/behavior.mps
index 86103856..c5f89fdc 100644
--- a/coderules/languages/jetbrains.mps.lang.typechecking/models/behavior.mps
+++ b/coderules/languages/jetbrains.mps.lang.typechecking/models/behavior.mps
@@ -9,7 +9,224 @@
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/languages/jetbrains.mps.lang.typechecking/models/editor.mps b/coderules/languages/jetbrains.mps.lang.typechecking/models/editor.mps
index 95c47f1f..475884f2 100644
--- a/coderules/languages/jetbrains.mps.lang.typechecking/models/editor.mps
+++ b/coderules/languages/jetbrains.mps.lang.typechecking/models/editor.mps
@@ -9,7 +9,324 @@
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/languages/jetbrains.mps.lang.typechecking/models/structure.mps b/coderules/languages/jetbrains.mps.lang.typechecking/models/structure.mps
index 088bab81..88c50e0a 100644
--- a/coderules/languages/jetbrains.mps.lang.typechecking/models/structure.mps
+++ b/coderules/languages/jetbrains.mps.lang.typechecking/models/structure.mps
@@ -9,7 +9,90 @@
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/languages/jetbrains.mps.lang.typechecking/models/typesystem.mps b/coderules/languages/jetbrains.mps.lang.typechecking/models/typesystem.mps
index 18b19dde..1233afe0 100644
--- a/coderules/languages/jetbrains.mps.lang.typechecking/models/typesystem.mps
+++ b/coderules/languages/jetbrains.mps.lang.typechecking/models/typesystem.mps
@@ -10,7 +10,222 @@
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+