Index: libcfa/src/concurrency/coroutine.hfa
===================================================================
--- libcfa/src/concurrency/coroutine.hfa	(revision 2d02803996cfedbb52f4de3ebb6f4777d17a0089)
+++ libcfa/src/concurrency/coroutine.hfa	(revision 46ab782a75ad9f4a5536d33d6041787bcfb4534c)
@@ -10,6 +10,6 @@
 // Created On       : Mon Nov 28 12:27:26 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Jan  6 16:33:16 2022
-// Update Count     : 12
+// Last Modified On : Thu Feb  2 11:31:42 2023
+// Update Count     : 13
 //
 
@@ -38,5 +38,6 @@
 // Anything that implements this trait can be resumed.
 // Anything that is resumed is a coroutine.
-trait is_coroutine(T & | IS_RESUMPTION_EXCEPTION(CoroutineCancelled(T))) {
+forall( T & | IS_RESUMPTION_EXCEPTION(CoroutineCancelled(T)) )
+trait is_coroutine {
 	void main(T & this);
 	coroutine$ * get_coroutine(T & this);
Index: libcfa/src/concurrency/locks.hfa
===================================================================
--- libcfa/src/concurrency/locks.hfa	(revision 2d02803996cfedbb52f4de3ebb6f4777d17a0089)
+++ libcfa/src/concurrency/locks.hfa	(revision 46ab782a75ad9f4a5536d33d6041787bcfb4534c)
@@ -640,5 +640,6 @@
 //-----------------------------------------------------------------------------
 // is_blocking_lock
-trait is_blocking_lock(L & | sized(L)) {
+forall( L & | sized(L) )
+trait is_blocking_lock {
 	// For synchronization locks to use when acquiring
 	void on_notify( L &, struct thread$ * );
Index: libcfa/src/concurrency/monitor.hfa
===================================================================
--- libcfa/src/concurrency/monitor.hfa	(revision 2d02803996cfedbb52f4de3ebb6f4777d17a0089)
+++ libcfa/src/concurrency/monitor.hfa	(revision 46ab782a75ad9f4a5536d33d6041787bcfb4534c)
@@ -10,6 +10,6 @@
 // Created On       : Thd Feb 23 12:27:26 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Dec  4 07:55:32 2019
-// Update Count     : 11
+// Last Modified On : Thu Feb  2 11:29:21 2023
+// Update Count     : 12
 //
 
@@ -22,5 +22,6 @@
 #include "stdlib.hfa"
 
-trait is_monitor(T &) {
+forall( T & )
+trait is_monitor {
 	monitor$ * get_monitor( T & );
 	void ^?{}( T & mutex );
Index: libcfa/src/concurrency/mutex.hfa
===================================================================
--- libcfa/src/concurrency/mutex.hfa	(revision 2d02803996cfedbb52f4de3ebb6f4777d17a0089)
+++ libcfa/src/concurrency/mutex.hfa	(revision 46ab782a75ad9f4a5536d33d6041787bcfb4534c)
@@ -12,6 +12,6 @@
 // Created On       : Fri May 25 01:24:09 2018
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Dec  4 09:16:53 2019
-// Update Count     : 1
+// Last Modified On : Thu Feb  2 11:46:08 2023
+// Update Count     : 2
 //
 
@@ -70,5 +70,6 @@
 void unlock(recursive_mutex_lock & this) __attribute__((deprecated("use concurrency/locks.hfa instead")));
 
-trait is_lock(L & | sized(L)) {
+forall( L & | sized(L) )
+trait is_lock {
 	void lock  (L &);
 	void unlock(L &);
Index: libcfa/src/concurrency/thread.hfa
===================================================================
--- libcfa/src/concurrency/thread.hfa	(revision 2d02803996cfedbb52f4de3ebb6f4777d17a0089)
+++ libcfa/src/concurrency/thread.hfa	(revision 46ab782a75ad9f4a5536d33d6041787bcfb4534c)
@@ -10,6 +10,6 @@
 // Created On       : Tue Jan 17 12:27:26 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Nov 22 22:18:34 2022
-// Update Count     : 35
+// Last Modified On : Thu Feb  2 11:27:59 2023
+// Update Count     : 37
 //
 
@@ -27,5 +27,6 @@
 //-----------------------------------------------------------------------------
 // thread trait
-trait is_thread(T &) {
+forall( T & )
+trait is_thread {
 	void ^?{}(T& mutex this);
 	void main(T& this);
