diff --git a/.mps/modules.xml b/.mps/modules.xml
index 0de28061..42d00285 100644
--- a/.mps/modules.xml
+++ b/.mps/modules.xml
@@ -11,6 +11,7 @@
+
diff --git a/build.xml b/build.xml
index 5f895ef4..c0dc5c91 100644
--- a/build.xml
+++ b/build.xml
@@ -441,6 +441,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -549,6 +587,7 @@
+
@@ -1215,6 +1254,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1359,7 +1436,7 @@
-
+
@@ -1474,6 +1551,7 @@
+
@@ -1806,13 +1884,15 @@
-
+
+
+
@@ -1856,13 +1936,12 @@
-
-
+
@@ -1882,7 +1961,6 @@
-
@@ -1919,7 +1997,7 @@
-
+
@@ -1953,6 +2031,7 @@
+
@@ -2076,7 +2155,7 @@
-
+
@@ -2109,6 +2188,7 @@
+
@@ -2145,7 +2225,7 @@
-
+
@@ -2165,7 +2245,6 @@
-
@@ -2198,6 +2277,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2301,7 +2417,7 @@
-
+
@@ -2324,6 +2440,7 @@
+
@@ -2580,6 +2697,7 @@
+
@@ -2659,6 +2777,7 @@
+
diff --git a/typechecking/solutions/jetbrains.mps.typechecking.build/models/jetbrains.mps.typechecking.build.mps b/typechecking/solutions/jetbrains.mps.typechecking.build/models/jetbrains.mps.typechecking.build.mps
index ce42d0bf..f2e8aa81 100644
--- a/typechecking/solutions/jetbrains.mps.typechecking.build/models/jetbrains.mps.typechecking.build.mps
+++ b/typechecking/solutions/jetbrains.mps.typechecking.build/models/jetbrains.mps.typechecking.build.mps
@@ -910,6 +910,9 @@
+
+
+
@@ -1002,6 +1005,12 @@
+
+
+
+
+
+
@@ -1070,6 +1079,12 @@
+
+
+
+
+
+
@@ -1249,6 +1264,12 @@
+
+
+
+
+
+
@@ -1411,6 +1432,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1898,6 +1957,9 @@
+
+
+
@@ -2190,6 +2252,9 @@
+
+
+
diff --git a/typechecking/solutions/jetbrains.mps.typechecking.reporting/jetbrains.mps.typechecking.reporting.msd b/typechecking/solutions/jetbrains.mps.typechecking.reporting/jetbrains.mps.typechecking.reporting.msd
new file mode 100644
index 00000000..9680439e
--- /dev/null
+++ b/typechecking/solutions/jetbrains.mps.typechecking.reporting/jetbrains.mps.typechecking.reporting.msd
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+ a5478664-6b44-4c62-a9f7-434f8aa57eee(jetbrains.mps.logic.runtime)
+ ff6372a2-2f45-4ec3-952b-02581666015f(jetbrains.mps.lang.typesystem2.template)
+ 26e8f4ce-2a35-4f44-8065-e5ba154b18e9(jetbrains.mps.lang.typesystem2.runtime)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/typechecking/solutions/jetbrains.mps.typechecking.reporting/models/jetbrains.mps.lang.typesystem2.reporting.mps b/typechecking/solutions/jetbrains.mps.typechecking.reporting/models/jetbrains.mps.lang.typesystem2.reporting.mps
new file mode 100644
index 00000000..b8016e5e
--- /dev/null
+++ b/typechecking/solutions/jetbrains.mps.typechecking.reporting/models/jetbrains.mps.lang.typesystem2.reporting.mps
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/typechecking/solutions/jetbrains.mps.typechecking.test/jetbrains.mps.lang.typechecking.test.msd b/typechecking/solutions/jetbrains.mps.typechecking.test/jetbrains.mps.lang.typechecking.test.msd
index 675d597a..abcb9420 100644
--- a/typechecking/solutions/jetbrains.mps.typechecking.test/jetbrains.mps.lang.typechecking.test.msd
+++ b/typechecking/solutions/jetbrains.mps.typechecking.test/jetbrains.mps.lang.typechecking.test.msd
@@ -19,6 +19,7 @@
35e2a720-13d8-4eda-88d3-ff9d78d5a3ae(jetbrains.mps.typechecking.ui)
6998f568-f0e9-473b-b4a8-9efb6499fc8d(jetbrains.mps.typechecking)
ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)
+ da80355b-a098-4248-9ec8-70d10dd7e9af(jetbrains.mps.typechecking.reporting)
@@ -62,6 +63,7 @@
+
diff --git a/typesystem2/languages/jetbrains.mps.lang.typesystem2/generator/template/main@generator.mps b/typesystem2/languages/jetbrains.mps.lang.typesystem2/generator/template/main@generator.mps
index 09e60ff9..d34690f0 100644
--- a/typesystem2/languages/jetbrains.mps.lang.typesystem2/generator/template/main@generator.mps
+++ b/typesystem2/languages/jetbrains.mps.lang.typesystem2/generator/template/main@generator.mps
@@ -52,6 +52,7 @@
+
@@ -20649,7 +20650,7 @@
-
+
@@ -20762,6 +20763,243 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/typesystem2/languages/jetbrains.mps.lang.typesystem2/jetbrains.mps.lang.typesystem2.mpl b/typesystem2/languages/jetbrains.mps.lang.typesystem2/jetbrains.mps.lang.typesystem2.mpl
index 34803bb5..95a9cfe5 100644
--- a/typesystem2/languages/jetbrains.mps.lang.typesystem2/jetbrains.mps.lang.typesystem2.mpl
+++ b/typesystem2/languages/jetbrains.mps.lang.typesystem2/jetbrains.mps.lang.typesystem2.mpl
@@ -83,6 +83,7 @@
+
@@ -182,6 +183,7 @@
26e8f4ce-2a35-4f44-8065-e5ba154b18e9(jetbrains.mps.lang.typesystem2.runtime)
ff6372a2-2f45-4ec3-952b-02581666015f(jetbrains.mps.lang.typesystem2.template)
+ da80355b-a098-4248-9ec8-70d10dd7e9af(jetbrains.mps.typechecking.reporting)
cba985fe-1e96-4f16-9f8d-b07434405d4f(jetbrains.mps.lang.smodel.types)
diff --git a/typesystem2/languages/jetbrains.mps.lang.typesystem2/runtime/jetbrains.mps.lang.typesystem2.runtime.msd b/typesystem2/languages/jetbrains.mps.lang.typesystem2/runtime/jetbrains.mps.lang.typesystem2.runtime.msd
index 5c773c11..c5183c90 100644
--- a/typesystem2/languages/jetbrains.mps.lang.typesystem2/runtime/jetbrains.mps.lang.typesystem2.runtime.msd
+++ b/typesystem2/languages/jetbrains.mps.lang.typesystem2/runtime/jetbrains.mps.lang.typesystem2.runtime.msd
@@ -15,6 +15,7 @@
8865b7a8-5271-43d3-884c-6fd1d9cfdd34(MPS.OpenAPI)
6ed54515-acc8-4d1e-a16c-9fd6cfe951ea(MPS.Core)
6998f568-f0e9-473b-b4a8-9efb6499fc8d(jetbrains.mps.typechecking)
+ da80355b-a098-4248-9ec8-70d10dd7e9af(jetbrains.mps.typechecking.reporting)
@@ -48,6 +49,7 @@
+
diff --git a/typesystem2/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains.mps.lang.typesystem2.evaluation.mps b/typesystem2/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains.mps.lang.typesystem2.evaluation.mps
index f7f395c0..db0a7742 100644
--- a/typesystem2/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains.mps.lang.typesystem2.evaluation.mps
+++ b/typesystem2/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains.mps.lang.typesystem2.evaluation.mps
@@ -45,6 +45,7 @@
+
@@ -11605,7 +11606,7 @@
-
+
@@ -11617,12 +11618,18 @@
+
+
+
+
+
+
diff --git a/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/jetbrains.mps.lang.typesystem2.template.msd b/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/jetbrains.mps.lang.typesystem2.template.msd
index 4c04b45c..06dc5d8f 100644
--- a/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/jetbrains.mps.lang.typesystem2.template.msd
+++ b/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/jetbrains.mps.lang.typesystem2.template.msd
@@ -12,6 +12,7 @@
8865b7a8-5271-43d3-884c-6fd1d9cfdd34(MPS.OpenAPI)
6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)
bbf5c548-7111-4a53-a117-cdefc664cf34(jetbrains.mps.logic.reactor)
+ da80355b-a098-4248-9ec8-70d10dd7e9af(jetbrains.mps.typechecking.reporting)
@@ -33,6 +34,7 @@
+
diff --git a/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains.mps.lang.typesystem2.macro.mps b/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains.mps.lang.typesystem2.macro.mps
index b1cedfca..03ea1829 100644
--- a/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains.mps.lang.typesystem2.macro.mps
+++ b/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains.mps.lang.typesystem2.macro.mps
@@ -17,6 +17,7 @@
+
@@ -47,6 +48,7 @@
+
@@ -94,6 +96,7 @@
+
@@ -746,6 +749,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -956,6 +982,9 @@
+
+
+