diff --git a/build.xml b/build.xml
index 15222528..d562a987 100644
--- a/build.xml
+++ b/build.xml
@@ -424,6 +424,7 @@
+
@@ -662,6 +663,7 @@
+
@@ -2425,6 +2427,7 @@
+
@@ -2663,6 +2666,7 @@
+
@@ -5311,7 +5315,7 @@
-
+
@@ -5324,20 +5328,21 @@
-
-
+
+
+
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 32fca566..1ed4f503 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
@@ -1680,6 +1680,95 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -16910,9 +16999,6 @@
-
-
-
@@ -16928,6 +17014,9 @@
+
+
+
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 97d10066..6ef7c0bb 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
@@ -111,6 +111,7 @@
f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)
35320f26-77cb-4c55-be9f-a97a27770af1(jetbrains.mps.logic)
a5478664-6b44-4c62-a9f7-434f8aa57eee(jetbrains.mps.logic.runtime)
+ fd392034-7849-419d-9071-12563d152375(jetbrains.mps.baseLanguage.closures)
diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/editor.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/editor.mps
index c6d0a354..039d6cc9 100644
--- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/editor.mps
+++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/editor.mps
@@ -28,6 +28,7 @@
+
@@ -78,6 +79,7 @@
+
@@ -8320,5 +8322,172 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/structure.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/structure.mps
index b268634e..bef806f3 100644
--- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/structure.mps
+++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/structure.mps
@@ -1644,5 +1644,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.program.mps b/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.program.mps
index 1e653c3d..1e99b523 100644
--- a/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.program.mps
+++ b/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.program.mps
@@ -8677,6 +8677,7 @@
+
@@ -9676,6 +9677,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/solutions/jetbrains.mps.coderules.build/models/jetbrains.mps.coderules.build.mps b/coderules/solutions/jetbrains.mps.coderules.build/models/jetbrains.mps.coderules.build.mps
index 9ca591dc..567ef163 100644
--- a/coderules/solutions/jetbrains.mps.coderules.build/models/jetbrains.mps.coderules.build.mps
+++ b/coderules/solutions/jetbrains.mps.coderules.build/models/jetbrains.mps.coderules.build.mps
@@ -2424,6 +2424,11 @@
+
+
+
+
+
@@ -2519,6 +2524,11 @@
+
+
+
+
+
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 dee026ca..5584d37d 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
@@ -131,7 +131,9 @@
-
+
+
+
@@ -285,6 +287,9 @@
+
+
+
@@ -305,6 +310,7 @@
+
@@ -750,6 +756,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1917,6 +1962,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2518,6 +2620,12 @@
+
+
+
+
+
+
@@ -5901,7 +6009,7 @@
-
+
@@ -5926,9 +6034,36 @@
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -6845,6 +6980,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -7334,8 +7502,8 @@
-
+
@@ -7476,8 +7644,8 @@
-
+
@@ -7652,13 +7820,13 @@
-
+
-
+
@@ -7693,7 +7861,7 @@
-
+
@@ -10447,6 +10615,15 @@
+
+
+
+
+
+
+
+
+
@@ -10846,43 +11023,9 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
@@ -11343,6 +11486,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -11576,6 +11776,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -11617,6 +11832,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -12185,6 +12418,7 @@
+
@@ -12207,7 +12441,6 @@
-
@@ -12355,6 +12588,9 @@
+
+
+
@@ -12373,9 +12609,6 @@
-
-
-
@@ -12392,15 +12625,15 @@
+
+
+
-
-
-
@@ -12446,6 +12679,12 @@
+
+
+
+
+
+
@@ -12471,6 +12710,9 @@
+
+
+
@@ -12483,9 +12725,6 @@
-
-
-
@@ -12502,15 +12741,15 @@
+
+
+
-
-
-
@@ -12519,12 +12758,6 @@
-
-
-
-
-
-
@@ -12682,7 +12915,6 @@
-
@@ -12910,6 +13142,12 @@
+
+
+
+
+
+
@@ -12918,15 +13156,15 @@
+
+
+
-
-
-
@@ -12968,27 +13206,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -13024,10 +13243,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -13211,6 +13455,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -13964,7 +14220,6 @@
-
@@ -14042,6 +14297,7 @@
+
@@ -16203,6 +16459,12 @@
+
+
+
+
+
+
@@ -16309,12 +16571,6 @@
-
-
-
-
-
-
@@ -16974,6 +17230,237 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -17105,6 +17592,9 @@
+
+
+
@@ -17144,6 +17634,13 @@
+
+
+
+
+
+
+
@@ -17366,6 +17863,7 @@
+
@@ -17404,6 +17902,7 @@
+
@@ -17446,6 +17945,7 @@
+
@@ -17607,6 +18107,7 @@
+
@@ -17667,6 +18168,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -18063,6 +18644,7 @@
+
@@ -18194,6 +18776,7 @@
+
@@ -18209,7 +18792,10 @@
-
+
+
+
+
diff --git a/coderules/solutions/jetbrains.mps.lang.coderules.template/jetbrains.mps.lang.coderules.template.msd b/coderules/solutions/jetbrains.mps.lang.coderules.template/jetbrains.mps.lang.coderules.template.msd
index ef4f6ebc..3cab306c 100644
--- a/coderules/solutions/jetbrains.mps.lang.coderules.template/jetbrains.mps.lang.coderules.template.msd
+++ b/coderules/solutions/jetbrains.mps.lang.coderules.template/jetbrains.mps.lang.coderules.template.msd
@@ -18,6 +18,7 @@
6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)
bbf5c548-7111-4a53-a117-cdefc664cf34(jetbrains.mps.logic.reactor)
9a4afe51-f114-4595-b5df-048ce3c596be(jetbrains.mps.runtime)
+ f113d56b-63e3-4120-a89c-2f5dcb8c6290(jetbrains.mps.coderules.runtime)
@@ -38,6 +39,7 @@
+
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 48836820..77685fc5 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
@@ -29,6 +29,7 @@
+
@@ -1769,6 +1770,109 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2470,6 +2574,13 @@
+
+
+
+
+
+
+
@@ -7585,5 +7696,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+