Index: libcfa/src/concurrency/alarm.hfa
===================================================================
--- libcfa/src/concurrency/alarm.hfa	(revision 8cd5434f3d110edebf08e98094a3ae47d7dcbf94)
+++ libcfa/src/concurrency/alarm.hfa	(revision aff7e862f837ed8e7b405341103d8c3a6aa5a387)
@@ -49,5 +49,5 @@
 	Duration period;			// if > 0 => period of alarm
 
-	DLISTED_MGD_IMPL_IN(alarm_node_t)
+	inline dlink(alarm_node_t);
 
 	union {
@@ -60,5 +60,5 @@
 	enum alarm_type type;		// true if this is not a user defined alarm
 };
-DLISTED_MGD_IMPL_OUT(alarm_node_t)
+P9_EMBEDDED( alarm_node_t, dlink(alarm_node_t) )
 
 void ?{}( alarm_node_t & this, $thread * thrd, Time alarm, Duration period );
@@ -67,5 +67,5 @@
 void ^?{}( alarm_node_t & this );
 
-typedef dlist(alarm_node_t, alarm_node_t) alarm_list_t;
+typedef dlist(alarm_node_t) alarm_list_t;
 
 void insert( alarm_list_t * this, alarm_node_t * n );
Index: libcfa/src/concurrency/kernel.cfa
===================================================================
--- libcfa/src/concurrency/kernel.cfa	(revision 8cd5434f3d110edebf08e98094a3ae47d7dcbf94)
+++ libcfa/src/concurrency/kernel.cfa	(revision aff7e862f837ed8e7b405341103d8c3a6aa5a387)
@@ -903,5 +903,5 @@
 	}
 
-	static void crawl_list( cluster * cltr, dlist(processor, processor) & list, unsigned count ) {
+	static void crawl_list( cluster * cltr, dlist(processor) & list, unsigned count ) {
 		/* paranoid */ verify( cltr->stats );
 
Index: libcfa/src/concurrency/kernel.hfa
===================================================================
--- libcfa/src/concurrency/kernel.hfa	(revision 8cd5434f3d110edebf08e98094a3ae47d7dcbf94)
+++ libcfa/src/concurrency/kernel.hfa	(revision aff7e862f837ed8e7b405341103d8c3a6aa5a387)
@@ -107,5 +107,5 @@
 
 	// Link lists fields
-	DLISTED_MGD_IMPL_IN(processor)
+	inline dlink(processor);
 
 	// special init fields
@@ -129,4 +129,5 @@
 #endif
 };
+P9_EMBEDDED( processor, dlink(processor) )
 
 void  ?{}(processor & this, const char name[], struct cluster & cltr);
@@ -136,6 +137,4 @@
 static inline void  ?{}(processor & this, struct cluster & cltr) { this{ "Anonymous Processor", cltr}; }
 static inline void  ?{}(processor & this, const char name[])     { this{name, *mainCluster}; }
-
-DLISTED_MGD_IMPL_OUT(processor)
 
 //-----------------------------------------------------------------------------
@@ -192,8 +191,8 @@
 
 	// List of idle processors
-	dlist(processor, processor) idles;
+	dlist(processor) idles;
 
 	// List of active processors
-	dlist(processor, processor) actives;
+	dlist(processor) actives;
 };
 
Index: libcfa/src/concurrency/ready_queue.cfa
===================================================================
--- libcfa/src/concurrency/ready_queue.cfa	(revision 8cd5434f3d110edebf08e98094a3ae47d7dcbf94)
+++ libcfa/src/concurrency/ready_queue.cfa	(revision aff7e862f837ed8e7b405341103d8c3a6aa5a387)
@@ -552,5 +552,5 @@
 }
 
-static void assign_list(unsigned & value, dlist(processor, processor) & list, unsigned count) {
+static void assign_list(unsigned & value, dlist(processor) & list, unsigned count) {
 	processor * it = &list`first;
 	for(unsigned i = 0; i < count; i++) {
