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 82786ca3..32fca566 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
@@ -67,6 +67,9 @@
+
+
+
@@ -12792,7 +12795,7 @@
-
+
@@ -12811,6 +12814,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -12936,7 +12984,7 @@
-
+
@@ -12956,7 +13004,7 @@
-
+
@@ -13027,7 +13075,7 @@
-
+
@@ -16860,15 +16908,20 @@
-
+
-
-
+
+
-
-
+
+
+
+
+
+
+
@@ -17147,11 +17200,11 @@
-
+
-
+
@@ -17172,12 +17225,12 @@
-
-
-
+
+
+
-
+
@@ -17232,7 +17285,7 @@
-
+
diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/jetbrains.mps.lang.coderules.analysis.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/jetbrains.mps.lang.coderules.analysis.mps
index d7ab3f6d..eb674f2c 100644
--- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/jetbrains.mps.lang.coderules.analysis.mps
+++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/jetbrains.mps.lang.coderules.analysis.mps
@@ -25,6 +25,7 @@
+
@@ -59,6 +60,10 @@
+
+
+
+
@@ -2344,7 +2349,7 @@
-
+
@@ -2413,11 +2418,11 @@
-
+
-
+
@@ -2449,7 +2454,7 @@
-
+
@@ -2550,6 +2555,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4037,6 +4057,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4515,6 +4561,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -4839,7 +4896,7 @@
-
+
@@ -6289,7 +6346,7 @@
-
+
@@ -6330,7 +6387,7 @@
-
+
@@ -6745,7 +6802,7 @@
-
+
diff --git a/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.eval.mps b/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.eval.mps
index acad30a5..044242cf 100644
--- a/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.eval.mps
+++ b/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.eval.mps
@@ -110,9 +110,6 @@
-
-
-
@@ -261,11 +258,6 @@
-
-
-
-
-
@@ -531,8 +523,8 @@
-
-
+
+
@@ -789,7 +781,7 @@
-
+
@@ -3613,14 +3605,34 @@
-
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3658,13 +3670,13 @@
-
-
-
+
+
+
-
-
+
+
@@ -3704,22 +3716,22 @@
-
+
-
+
-
+
-
+
@@ -3791,45 +3803,18 @@
-
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -3865,10 +3850,10 @@
-
+
-
-
+
+
@@ -7185,8 +7170,8 @@
-
-
+
+
@@ -7494,7 +7479,7 @@
-
+
@@ -7529,8 +7514,8 @@
-
-
+
+
diff --git a/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.program.analysis.mps b/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.program.analysis.mps
index 55f89ece..6c7b0aa7 100644
--- a/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.program.analysis.mps
+++ b/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.program.analysis.mps
@@ -16,17 +16,10 @@
-
-
-
-
-
-
-
@@ -42,11 +35,18 @@
+
+
+
+
-
+
+
+
+
@@ -54,9 +54,6 @@
-
-
-
@@ -81,20 +78,16 @@
-
-
-
-
+
-
@@ -137,426 +130,443 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+
+
-
-
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -576,6 +586,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -606,8 +642,8 @@
-
-
+
+
@@ -748,19 +784,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -783,174 +856,56 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
-
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -984,12 +939,23 @@
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
diff --git a/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.incrementality@tests.mps b/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.incrementality@tests.mps
index e3043da2..e52907ae 100644
--- a/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.incrementality@tests.mps
+++ b/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.incrementality@tests.mps
@@ -438,8 +438,8 @@
-
-
+
+
@@ -565,7 +565,7 @@
-
+
@@ -609,7 +609,7 @@
-
+
@@ -656,7 +656,7 @@
-
+
@@ -3356,7 +3356,7 @@
-
+
@@ -4297,7 +4297,7 @@
-
+
@@ -4356,7 +4356,7 @@
-
+
diff --git a/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking.test.util.mps b/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking.test.util.mps
index e5809907..5fa26db7 100644
--- a/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking.test.util.mps
+++ b/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking.test.util.mps
@@ -1964,8 +1964,8 @@
-
-
+
+
@@ -2032,12 +2032,12 @@
-
-
+
+
-
-
-
+
+
+
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 87754e36..da019bee 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
@@ -61,6 +61,7 @@
+
@@ -5085,8 +5086,8 @@
-
-
+
+
@@ -5553,8 +5554,8 @@
-
-
+
+
@@ -18354,6 +18355,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -18381,28 +18404,42 @@
-
-
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
-
-
+
+
+
diff --git a/coderules/solutions/jetbrains.mps.coderules/models/service.mps b/coderules/solutions/jetbrains.mps.coderules/models/service.mps
index b56a79ee..4db207ca 100644
--- a/coderules/solutions/jetbrains.mps.coderules/models/service.mps
+++ b/coderules/solutions/jetbrains.mps.coderules/models/service.mps
@@ -2319,8 +2319,8 @@
-
-
+
+
@@ -7438,15 +7438,15 @@
-
-
+
+
-
+
@@ -7533,9 +7533,9 @@
-
-
-
+
+
+
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 5ce210d5..6d68d847 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
@@ -4904,11 +4904,11 @@
-
+
-
-
+
+
diff --git a/coderules/solutions/jetbrains.mps.lang.coderules.template/models/jetbrains.mps.lang.coderules.template.mps b/coderules/solutions/jetbrains.mps.lang.coderules.template/models/jetbrains.mps.lang.coderules.template.mps
index 6a85526e..48836820 100644
--- a/coderules/solutions/jetbrains.mps.lang.coderules.template/models/jetbrains.mps.lang.coderules.template.mps
+++ b/coderules/solutions/jetbrains.mps.lang.coderules.template/models/jetbrains.mps.lang.coderules.template.mps
@@ -272,11 +272,6 @@
-
-
-
-
-
@@ -7263,88 +7258,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -7353,118 +7266,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -7611,14 +7412,14 @@
-
+
-
+
-
-
+
+
@@ -7706,5 +7507,83 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+