Index: sts/.expect/poly-cycle.txt
===================================================================
--- tests/.expect/poly-cycle.txt	(revision 615767bf8c2af44d97001895be6cbf190a69a365)
+++ 	(revision )
@@ -1,1 +1,0 @@
-Success!
Index: tests/.expect/poly-d-cycle.txt
===================================================================
--- tests/.expect/poly-d-cycle.txt	(revision 91131689e00a1cf7d78ea847964564347587d525)
+++ tests/.expect/poly-d-cycle.txt	(revision 91131689e00a1cf7d78ea847964564347587d525)
@@ -0,0 +1,1 @@
+Success!
Index: tests/.expect/poly-o-cycle.txt
===================================================================
--- tests/.expect/poly-o-cycle.txt	(revision 91131689e00a1cf7d78ea847964564347587d525)
+++ tests/.expect/poly-o-cycle.txt	(revision 91131689e00a1cf7d78ea847964564347587d525)
@@ -0,0 +1,1 @@
+Success!
Index: sts/poly-cycle.cfa
===================================================================
--- tests/poly-cycle.cfa	(revision 615767bf8c2af44d97001895be6cbf190a69a365)
+++ 	(revision )
@@ -1,28 +1,0 @@
-// Check that a cycle of polymorphic data structures can be instancated.
-
-#include <stdio.h>
-
-forall(otype T)
-struct func_table;
-
-forall(otype U)
-struct object {
-	func_table(U) * virtual_table;
-};
-
-forall(otype T)
-struct func_table {
-	void (*object_func)(object(T) *);
-};
-
-void func(object(int) *) {
-	printf("Success!\n");
-}
-
-func_table(int) an_instance = { func };
-
-int main(int argc, char * argv[]) {
-	object(int) x = { 0p };
-	an_instance.object_func( &x );
-	return 0;
-}
Index: tests/poly-d-cycle.cfa
===================================================================
--- tests/poly-d-cycle.cfa	(revision 91131689e00a1cf7d78ea847964564347587d525)
+++ tests/poly-d-cycle.cfa	(revision 91131689e00a1cf7d78ea847964564347587d525)
@@ -0,0 +1,28 @@
+// Check that a cycle of polymorphic dtype structures can be instancated.
+
+#include <stdio.h>
+
+forall(dtype T)
+struct func_table;
+
+forall(dtype U)
+struct object {
+	func_table(U) * virtual_table;
+};
+
+forall(dtype T)
+struct func_table {
+	void (*object_func)(object(T) *);
+};
+
+void func(object(int) *) {
+	printf("Success!\n");
+}
+
+func_table(int) an_instance = { func };
+
+int main(int argc, char * argv[]) {
+	object(int) x = { 0p };
+	an_instance.object_func( &x );
+	return 0;
+}
Index: tests/poly-o-cycle.cfa
===================================================================
--- tests/poly-o-cycle.cfa	(revision 91131689e00a1cf7d78ea847964564347587d525)
+++ tests/poly-o-cycle.cfa	(revision 91131689e00a1cf7d78ea847964564347587d525)
@@ -0,0 +1,28 @@
+// Check that a cycle of polymorphic otype structures can be instancated.
+
+#include <stdio.h>
+
+forall(otype T)
+struct func_table;
+
+forall(otype U)
+struct object {
+	func_table(U) * virtual_table;
+};
+
+forall(otype T)
+struct func_table {
+	void (*object_func)(object(T) *);
+};
+
+void func(object(int) *) {
+	printf("Success!\n");
+}
+
+func_table(int) an_instance = { func };
+
+int main(int argc, char * argv[]) {
+	object(int) x = { 0p };
+	an_instance.object_func( &x );
+	return 0;
+}
