diff --git a/build.xml b/build.xml
index 28a66b64..4739c3b9 100644
--- a/build.xml
+++ b/build.xml
@@ -1177,6 +1177,7 @@
+
@@ -1250,6 +1251,7 @@
+
@@ -1677,6 +1679,7 @@
+
@@ -1736,6 +1739,7 @@
+
@@ -3098,6 +3102,7 @@
+
@@ -3171,6 +3176,7 @@
+
@@ -3529,6 +3535,7 @@
+
@@ -3588,6 +3595,7 @@
+
@@ -4458,7 +4466,7 @@
-
+
@@ -4493,6 +4501,7 @@
+
@@ -4530,7 +4539,7 @@
-
+
@@ -4565,6 +4574,7 @@
+
@@ -5046,7 +5056,7 @@
-
+
@@ -5081,6 +5091,7 @@
+
@@ -5100,7 +5111,7 @@
-
+
@@ -5135,6 +5146,7 @@
+
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 8e46e099..d3c07f59 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
@@ -1192,6 +1192,11 @@
+
+
+
+
+
@@ -1332,6 +1337,11 @@
+
+
+
+
+
@@ -2015,6 +2025,11 @@
+
+
+
+
+
@@ -2128,6 +2143,11 @@
+
+
+
+
+
diff --git a/coderules/solutions/jetbrains.mps.coderules.typechecking.ui/jetbrains.mps.coderules.typechecking.ui.msd b/coderules/solutions/jetbrains.mps.coderules.typechecking.ui/jetbrains.mps.coderules.typechecking.ui.msd
index 95342239..566392f6 100644
--- a/coderules/solutions/jetbrains.mps.coderules.typechecking.ui/jetbrains.mps.coderules.typechecking.ui.msd
+++ b/coderules/solutions/jetbrains.mps.coderules.typechecking.ui/jetbrains.mps.coderules.typechecking.ui.msd
@@ -27,6 +27,7 @@
f486b8aa-5b2d-4ec0-8ef5-8f45d773fb84(jetbrains.mps.lang.typechecking.runtime)
4d5d9aa1-7b71-4888-9100-1b793e5328a6(jetbrains.mps.coderules.ui)
ff6372a2-2f45-4ec3-952b-02581666015f(jetbrains.mps.lang.coderules.template)
+ f113d56b-63e3-4120-a89c-2f5dcb8c6290(jetbrains.mps.coderules.runtime)
@@ -55,6 +56,7 @@
+
diff --git a/coderules/solutions/jetbrains.mps.coderules.typechecking.ui/models/jetbrains.mps.coderules.typechecking.ui.plugin.mps b/coderules/solutions/jetbrains.mps.coderules.typechecking.ui/models/jetbrains.mps.coderules.typechecking.ui.plugin.mps
index f57b980b..02426fff 100644
--- a/coderules/solutions/jetbrains.mps.coderules.typechecking.ui/models/jetbrains.mps.coderules.typechecking.ui.plugin.mps
+++ b/coderules/solutions/jetbrains.mps.coderules.typechecking.ui/models/jetbrains.mps.coderules.typechecking.ui.plugin.mps
@@ -60,6 +60,7 @@
+
@@ -1044,194 +1045,205 @@
-
-
-
-
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -3281,19 +3293,66 @@
-
-
-
-
+
+
+
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3308,12 +3367,11 @@
-
-
-
+
+
-
-
+
+
@@ -3330,55 +3388,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
diff --git a/coderules/solutions/jetbrains.mps.coderules.typechecking/jetbrains.mps.coderules.typechecking.msd b/coderules/solutions/jetbrains.mps.coderules.typechecking/jetbrains.mps.coderules.typechecking.msd
index 1d9ec4a0..0132bfb3 100644
--- a/coderules/solutions/jetbrains.mps.coderules.typechecking/jetbrains.mps.coderules.typechecking.msd
+++ b/coderules/solutions/jetbrains.mps.coderules.typechecking/jetbrains.mps.coderules.typechecking.msd
@@ -25,6 +25,7 @@
49808fad-9d41-4b96-83fa-9231640f6b2b(JUnit)
ff6372a2-2f45-4ec3-952b-02581666015f(jetbrains.mps.lang.coderules.template)
26e8f4ce-2a35-4f44-8065-e5ba154b18e9(jetbrains.mps.lang.coderules.runtime)
+ f113d56b-63e3-4120-a89c-2f5dcb8c6290(jetbrains.mps.coderules.runtime)
@@ -61,6 +62,7 @@
+
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 458dea20..ab080f10 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
@@ -57,6 +57,7 @@
+
@@ -10615,19 +10616,24 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/solutions/jetbrains.mps.coderules/models/service.mps b/coderules/solutions/jetbrains.mps.coderules/models/service.mps
index 830c5765..b9640d6a 100644
--- a/coderules/solutions/jetbrains.mps.coderules/models/service.mps
+++ b/coderules/solutions/jetbrains.mps.coderules/models/service.mps
@@ -138,10 +138,7 @@
-
-
-
-
+
@@ -197,9 +194,7 @@
-
-
-
+
@@ -254,7 +249,6 @@
-
@@ -288,6 +282,7 @@
+
@@ -1001,16 +996,14 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
@@ -2108,16 +2101,14 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
@@ -3639,25 +3630,21 @@
-
-
-
+
+
+
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
@@ -3772,39 +3759,50 @@
-
-
-
-
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3993,7 +3991,7 @@
-
+
@@ -4002,6 +4000,13 @@
+
+
+
+
+
+
+
@@ -4273,25 +4278,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
-
+
@@ -4315,7 +4340,6 @@
-
@@ -4354,7 +4378,7 @@
-
+
@@ -4364,72 +4388,128 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -4440,6 +4520,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4450,24 +4546,50 @@
-
-
-
-
-
+
+
+
-
-
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4570,11 +4692,15 @@
-
-
+
-
-
+
+
+
+
+
+
+
@@ -4657,259 +4783,166 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
+
-
+
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -4951,17 +4984,6 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -5038,20 +5060,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -5147,6 +5155,10 @@
+
+
+
+
@@ -5170,6 +5182,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -5189,6 +5252,10 @@
+
+
+
+
@@ -5208,40 +5275,62 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -5263,7 +5352,7 @@
-
+
@@ -5313,20 +5402,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -5348,15 +5423,6 @@
-
-
-
-
-
-
-
-
-
@@ -5754,6 +5820,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -5829,36 +5914,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -5891,26 +5946,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -5977,8 +6012,14 @@
+
+
+
+
+
+
-
+
@@ -6006,6 +6047,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -6225,6 +6297,9 @@
+
+
+
@@ -6296,47 +6371,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -6391,27 +6426,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -6469,11 +6483,18 @@
+
+
+
+
+
+
+
-
+
@@ -6488,7 +6509,7 @@
-
+
@@ -6516,6 +6537,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -6540,6 +6592,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -6664,47 +6734,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -6804,27 +6834,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -6856,6 +6865,13 @@
+
+
+
+
+
+
+
diff --git a/coderules/solutions/jetbrains.mps.controlflow.ui/jetbrains.mps.controlflow.ui.msd b/coderules/solutions/jetbrains.mps.controlflow.ui/jetbrains.mps.controlflow.ui.msd
index a47f8aa8..ae4551c1 100644
--- a/coderules/solutions/jetbrains.mps.controlflow.ui/jetbrains.mps.controlflow.ui.msd
+++ b/coderules/solutions/jetbrains.mps.controlflow.ui/jetbrains.mps.controlflow.ui.msd
@@ -22,6 +22,7 @@
5b1f863d-65a0-41a6-a801-33896be24202(jetbrains.mps.ide.editor)
4d5d9aa1-7b71-4888-9100-1b793e5328a6(jetbrains.mps.coderules.ui)
ffcd9ef5-e931-4da9-a8d1-eb9bf80d19b4(jetbrains.mps.lang.controlflow.runtime)
+ f113d56b-63e3-4120-a89c-2f5dcb8c6290(jetbrains.mps.coderules.runtime)
@@ -47,6 +48,7 @@
+
diff --git a/coderules/solutions/jetbrains.mps.controlflow.ui/models/plugin.mps b/coderules/solutions/jetbrains.mps.controlflow.ui/models/plugin.mps
index d7bfb35d..07f4d3b2 100644
--- a/coderules/solutions/jetbrains.mps.controlflow.ui/models/plugin.mps
+++ b/coderules/solutions/jetbrains.mps.controlflow.ui/models/plugin.mps
@@ -36,6 +36,7 @@
+
@@ -1111,19 +1112,66 @@
-
-
-
-
+
+
+
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1138,12 +1186,11 @@
-
-
-
+
+
-
-
+
+
@@ -1160,55 +1207,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
diff --git a/coderules/solutions/jetbrains.mps.controlflow/jetbrains.mps.controlflow.msd b/coderules/solutions/jetbrains.mps.controlflow/jetbrains.mps.controlflow.msd
index fedbcfa4..b18579c9 100644
--- a/coderules/solutions/jetbrains.mps.controlflow/jetbrains.mps.controlflow.msd
+++ b/coderules/solutions/jetbrains.mps.controlflow/jetbrains.mps.controlflow.msd
@@ -15,6 +15,7 @@
6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)
f97d84b2-8bad-4fdd-8ede-da17b3eacf4c(jetbrains.mps.coderules)
8865b7a8-5271-43d3-884c-6fd1d9cfdd34(MPS.OpenAPI)
+ f113d56b-63e3-4120-a89c-2f5dcb8c6290(jetbrains.mps.coderules.runtime)
@@ -33,6 +34,7 @@
+
diff --git a/coderules/solutions/jetbrains.mps.controlflow/models/service.mps b/coderules/solutions/jetbrains.mps.controlflow/models/service.mps
index c9be83cc..a552ae34 100644
--- a/coderules/solutions/jetbrains.mps.controlflow/models/service.mps
+++ b/coderules/solutions/jetbrains.mps.controlflow/models/service.mps
@@ -20,6 +20,7 @@
+