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 5bd99ddc..3f5c179d 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
@@ -5392,10 +5392,15 @@
-
+
+
+
+
+
+
@@ -5463,123 +5468,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -5605,7 +5493,7 @@
-
+
@@ -5633,6 +5521,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -14638,23 +14579,23 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
@@ -14663,18 +14604,18 @@
-
-
-
-
+
+
+
+
-
+
-
-
-
-
+
+
+
+
@@ -14682,19 +14623,19 @@
-
+
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -14706,19 +14647,51 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -14727,6 +14700,111 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -14919,7 +14997,7 @@
-
+
@@ -14938,8 +15016,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -14975,6 +15070,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/languages/jetbrains.mps.lang.coderules/jetbrains.mps.lang.coderules.mpl b/coderules/languages/jetbrains.mps.lang.coderules/jetbrains.mps.lang.coderules.mpl
index d6b82de3..ae93bd54 100644
--- a/coderules/languages/jetbrains.mps.lang.coderules/jetbrains.mps.lang.coderules.mpl
+++ b/coderules/languages/jetbrains.mps.lang.coderules/jetbrains.mps.lang.coderules.mpl
@@ -96,6 +96,7 @@
a5478664-6b44-4c62-a9f7-434f8aa57eee(jetbrains.mps.logic.runtime)
fd392034-7849-419d-9071-12563d152375(jetbrains.mps.baseLanguage.closures)
528ff3b9-5fc4-40dd-931f-c6ce3650640e(jetbrains.mps.lang.migration.runtime)
+ 34e84b8f-afa8-4364-abcd-a279fddddbe7(jetbrains.mps.editor.runtime)
@@ -154,11 +155,15 @@
+
+
+
+
diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/behavior.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/behavior.mps
index ed380843..75b234e2 100644
--- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/behavior.mps
+++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/behavior.mps
@@ -62,6 +62,7 @@
+
@@ -130,7 +131,7 @@
-
+
@@ -139,7 +140,7 @@
-
+
@@ -229,7 +230,7 @@
-
+
@@ -1510,6 +1511,7 @@
+
diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/constraints.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/constraints.mps
index 9498dfd7..59ecf68d 100644
--- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/constraints.mps
+++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/constraints.mps
@@ -48,7 +48,7 @@
-
+
@@ -84,6 +84,9 @@
+
+
+
@@ -128,10 +131,11 @@
-
+
+
@@ -146,7 +150,7 @@
-
+
@@ -261,7 +265,7 @@
-
+
@@ -1147,77 +1151,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
@@ -2377,5 +2315,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/editor.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/editor.mps
index b39cb176..17e76609 100644
--- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/editor.mps
+++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/editor.mps
@@ -28,8 +28,13 @@
+
+
+
+
+
@@ -37,7 +42,7 @@
-
+
@@ -83,7 +88,7 @@
-
+
@@ -95,6 +100,7 @@
+
@@ -166,15 +172,15 @@
-
+
-
+
-
+
@@ -241,11 +247,11 @@
-
+
-
+
@@ -276,7 +282,7 @@
-
+
@@ -297,15 +303,17 @@
-
+
-
-
+
+
+
+
@@ -326,7 +334,7 @@
-
+
@@ -402,6 +410,9 @@
+
+
+
@@ -451,10 +462,11 @@
-
+
+
@@ -462,7 +474,14 @@
+
+
+
+
+
+
+
@@ -521,6 +540,9 @@
+
+
+
@@ -598,7 +620,7 @@
-
+
@@ -1398,6 +1420,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3434,11 +3471,9 @@
-
-
-
+
@@ -3520,6 +3555,13 @@
+
+
+
+
+
+
+
@@ -3561,16 +3603,16 @@
+
+
+
-
+
-
-
-
@@ -3620,8 +3662,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3759,6 +3828,10 @@
+
+
+
+
@@ -3812,45 +3885,49 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
@@ -3925,7 +4002,7 @@
-
+
@@ -3936,6 +4013,7 @@
+
@@ -3958,6 +4036,7 @@
+
@@ -3979,17 +4058,35 @@
-
-
-
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4113,6 +4210,7 @@
+
@@ -4135,12 +4233,6 @@
-
-
-
-
-
-
@@ -4154,12 +4246,6 @@
-
-
-
-
-
-
@@ -7234,6 +7320,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -9184,5 +9339,176 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/intentions.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/intentions.mps
index ae5842dc..2155e8eb 100644
--- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/intentions.mps
+++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/intentions.mps
@@ -18,6 +18,7 @@
+
@@ -27,6 +28,9 @@
+
+
+
@@ -101,6 +105,7 @@
+
@@ -138,6 +143,10 @@
+
+
+
+
@@ -151,6 +160,7 @@
+
@@ -166,6 +176,9 @@
+
+
+
@@ -178,7 +191,7 @@
-
+
@@ -198,11 +211,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -870,5 +897,337 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/structure.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/structure.mps
index 7d4a387a..cfe47c04 100644
--- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/structure.mps
+++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/structure.mps
@@ -107,7 +107,7 @@
-
+
@@ -1138,6 +1138,13 @@
+
+
+
+
+
+
+
@@ -1229,6 +1236,7 @@
+
@@ -1772,5 +1780,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/typesystem.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/typesystem.mps
index f29e044a..0321edad 100644
--- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/typesystem.mps
+++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/typesystem.mps
@@ -57,6 +57,7 @@
+
@@ -89,7 +90,7 @@
-
+
@@ -111,7 +112,7 @@
-
+
@@ -162,6 +163,9 @@
+
+
+
@@ -171,6 +175,7 @@
+
@@ -210,6 +215,9 @@
+
+
+
@@ -250,7 +258,7 @@
-
+
@@ -258,11 +266,16 @@
+
+
+
+
+
@@ -1478,5 +1491,164 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+