diff --git a/.mps/modules.xml b/.mps/modules.xml
index 68845a7b..5f228c6e 100644
--- a/.mps/modules.xml
+++ b/.mps/modules.xml
@@ -45,6 +45,7 @@
+
diff --git a/samples/mpscore/build.xml b/samples/mpscore/build.xml
index 1f0d688f..a1e40ef2 100644
--- a/samples/mpscore/build.xml
+++ b/samples/mpscore/build.xml
@@ -1887,7 +1887,6 @@
-
@@ -1932,6 +1931,7 @@
+
@@ -2002,6 +2002,146 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2234,7 +2374,7 @@
-
+
@@ -2396,6 +2536,7 @@
+
@@ -2898,6 +3039,135 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4740,6 +5010,8 @@
+
+
diff --git a/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/generator/templates/main@generator.mps b/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/generator/templates/main@generator.mps
new file mode 100644
index 00000000..40bd2537
--- /dev/null
+++ b/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/generator/templates/main@generator.mps
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/jetbrains.mps.lang.constraintsExt.mpl b/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/jetbrains.mps.lang.constraintsExt.mpl
new file mode 100644
index 00000000..0b588f0e
--- /dev/null
+++ b/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/jetbrains.mps.lang.constraintsExt.mpl
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 65e59b42-e7f3-45ec-8692-6c7829780afe(jetbrains.mps.lang.smodelExt)
+ 7866978e-a0f0-4cc7-81bc-4d213d9375e1(jetbrains.mps.lang.smodel)
+ c72da2b9-7cce-4447-8389-f407dc1158b7(jetbrains.mps.lang.structure)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0fda14cc-a416-4c81-869a-2175d8b3325d(jetbrains.mps.baseLanguageExt)
+ 3f4bc5f5-c6c1-4a28-8b10-c83066ffa4a1(jetbrains.mps.lang.constraints)
+
+
+
diff --git a/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/models/jetbrains.mps.lang.constraintsExt.behavior.mps b/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/models/jetbrains.mps.lang.constraintsExt.behavior.mps
new file mode 100644
index 00000000..463315ce
--- /dev/null
+++ b/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/models/jetbrains.mps.lang.constraintsExt.behavior.mps
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/models/jetbrains.mps.lang.constraintsExt.constraints.mps b/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/models/jetbrains.mps.lang.constraintsExt.constraints.mps
new file mode 100644
index 00000000..29ce33ff
--- /dev/null
+++ b/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/models/jetbrains.mps.lang.constraintsExt.constraints.mps
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/models/jetbrains.mps.lang.constraintsExt.editor.mps b/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/models/jetbrains.mps.lang.constraintsExt.editor.mps
new file mode 100644
index 00000000..a4653cdf
--- /dev/null
+++ b/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/models/jetbrains.mps.lang.constraintsExt.editor.mps
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/models/jetbrains.mps.lang.constraintsExt.structure.mps b/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/models/jetbrains.mps.lang.constraintsExt.structure.mps
new file mode 100644
index 00000000..30521a7a
--- /dev/null
+++ b/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/models/jetbrains.mps.lang.constraintsExt.structure.mps
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/models/jetbrains.mps.lang.constraintsExt.types.mps b/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/models/jetbrains.mps.lang.constraintsExt.types.mps
new file mode 100644
index 00000000..ed2d2262
--- /dev/null
+++ b/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/models/jetbrains.mps.lang.constraintsExt.types.mps
@@ -0,0 +1,1624 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/models/jetbrains.mps.lang.constraintsExt.typesystem.mps b/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/models/jetbrains.mps.lang.constraintsExt.typesystem.mps
new file mode 100644
index 00000000..f7e9bba1
--- /dev/null
+++ b/samples/mpscore/languages/jetbrains.mps.lang.constraintsExt/models/jetbrains.mps.lang.constraintsExt.typesystem.mps
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/mpscore/solutions/samples.mpscore.build/models/samples.mpscore.build.mps b/samples/mpscore/solutions/samples.mpscore.build/models/samples.mpscore.build.mps
index ed59d547..22f209ff 100644
--- a/samples/mpscore/solutions/samples.mpscore.build/models/samples.mpscore.build.mps
+++ b/samples/mpscore/solutions/samples.mpscore.build/models/samples.mpscore.build.mps
@@ -235,6 +235,9 @@
+
+
+
@@ -679,9 +682,9 @@
-
+
@@ -708,11 +711,6 @@
-
-
-
-
-
@@ -789,6 +787,118 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+