Index: doc/proposals/modules-alvin/1_stitched_modules/testing/noImports.cmod
===================================================================
--- doc/proposals/modules-alvin/1_stitched_modules/testing/noImports.cmod	(revision 2cb10170467de962cdb4cefda24f98eb56c7c379)
+++ doc/proposals/modules-alvin/1_stitched_modules/testing/noImports.cmod	(revision 2cb10170467de962cdb4cefda24f98eb56c7c379)
@@ -0,0 +1,31 @@
+module;
+
+export void fn_1() {}
+int fn_2(int a) {}
+struct struct_1 fn_3(struct struct_2 a, struct struct_3 *b) {
+    global_1;
+    type struct_4;
+    type *struct_5;
+}
+
+struct struct_1 {};
+export struct struct_2 {};
+struct struct_3 {
+    global_2;
+    type *struct_6;
+};
+struct struct_4 {
+    type struct_5;
+};
+export struct struct_5 {
+    type *struct_6;
+};
+struct struct_6 {
+    type struct_5;
+};
+
+int global_1;
+export int global_2 = global_3 + global_4 + global_1;
+int global_3 = global_5;
+struct struct_4 global_4;
+export struct struct_5 *global_5 = global_1;
Index: doc/proposals/modules-alvin/1_stitched_modules/testing/yesImports.cmod
===================================================================
--- doc/proposals/modules-alvin/1_stitched_modules/testing/yesImports.cmod	(revision 2cb10170467de962cdb4cefda24f98eb56c7c379)
+++ doc/proposals/modules-alvin/1_stitched_modules/testing/yesImports.cmod	(revision 2cb10170467de962cdb4cefda24f98eb56c7c379)
@@ -0,0 +1,16 @@
+module;
+
+import yesImports/a;
+import "yesImports/b";
+
+struct struct_1 {
+    // Uses b because it's exported (a isn't)
+    type struct_2;
+};
+
+export struct struct_4 {
+    // Uses a because it's exported (b isn't)
+    global_1;
+    // Uses a
+    type struct_5;
+};
Index: doc/proposals/modules-alvin/1_stitched_modules/testing/yesImports/a.cmod
===================================================================
--- doc/proposals/modules-alvin/1_stitched_modules/testing/yesImports/a.cmod	(revision 2cb10170467de962cdb4cefda24f98eb56c7c379)
+++ doc/proposals/modules-alvin/1_stitched_modules/testing/yesImports/a.cmod	(revision 2cb10170467de962cdb4cefda24f98eb56c7c379)
@@ -0,0 +1,25 @@
+module;
+
+import b;
+
+struct struct_2 {
+    // Uses a because own module shadows imported b
+    global_1;
+};
+export int global_1;
+
+int function_1() {
+    // This is not overloaded with b because they are never
+    // exported into the same space
+}
+
+export struct struct_5 {
+    // Uses b
+    type struct_6;
+    // Uses b
+    global_2;
+};
+export struct struct_7 {
+    // Uses b
+    type *struct_8;
+};
Index: doc/proposals/modules-alvin/1_stitched_modules/testing/yesImports/b.cmod
===================================================================
--- doc/proposals/modules-alvin/1_stitched_modules/testing/yesImports/b.cmod	(revision 2cb10170467de962cdb4cefda24f98eb56c7c379)
+++ doc/proposals/modules-alvin/1_stitched_modules/testing/yesImports/b.cmod	(revision 2cb10170467de962cdb4cefda24f98eb56c7c379)
@@ -0,0 +1,31 @@
+module;
+
+import a;
+import "../yesImports";
+
+export struct struct_2 {
+    // Uses b because own module shadows imported a
+    global_1;
+};
+int global_1;
+
+int function_1(struct struct_3 foo /* Uses b */) {
+    // Uses b because own module shadows imported a
+    global_1;
+}
+
+export struct struct_3 {
+    // Uses yesImports
+    type struct_4;
+};
+export int global_2;
+export struct struct_6 {
+    // Uses a
+    type struct_7;
+};
+export struct struct_8 {
+    // uses b
+    function_1;
+    // uses b
+    type struct_7;
+};
