Index: src/tests/monitor.c
===================================================================
--- src/tests/monitor.c	(revision bcda04c57444ccd998e9f7511b75c66e90f0301a)
+++ src/tests/monitor.c	(revision ae6f1ec1d85524657b3516f4d6718b46777f8d37)
@@ -26,10 +26,5 @@
 }
 
-struct MyThread { thread_desc __thrd; };
-
-DECL_THREAD(MyThread);
-
-void ?{}( MyThread * this ) {}
-void ^?{}( MyThread * mutex this ) {}
+thread MyThread {};
 
 void main( MyThread* this ) {
@@ -43,5 +38,5 @@
 	processor p;
 	{
-		scoped(MyThread) f[4];
+		MyThread f[4];
 	}
 	sout | global.value | endl;
Index: src/tests/thread.c
===================================================================
--- src/tests/thread.c	(revision bcda04c57444ccd998e9f7511b75c66e90f0301a)
+++ src/tests/thread.c	(revision ae6f1ec1d85524657b3516f4d6718b46777f8d37)
@@ -4,15 +4,15 @@
 #include <thread>
 
-struct First { thread_desc __thrd; signal_once* lock; };
-struct Second { thread_desc __thrd; signal_once* lock; };
+// thread First;
+// void main(First* this);
 
-DECL_THREAD(First);
-DECL_THREAD(Second);
+// thread Second;
+// void main(Second* this);
+
+thread First  { signal_once* lock; };
+thread Second { signal_once* lock; };
 
 void ?{}( First * this, signal_once* lock ) { this->lock = lock; }
 void ?{}( Second * this, signal_once* lock ) { this->lock = lock; }
-
-void ^?{}( First  * mutex this ) {}
-void ^?{}( Second * mutex this ) {}
 
 void main(First* this) {
@@ -39,6 +39,6 @@
 		processor p;
 		{
-			scoped(First)  f = { &lock };
-			scoped(Second) s = { &lock };
+			First  f = { &lock };
+			Second s = { &lock };
 		}
 	}
