Index: libcfa/src/containers/list.hfa
===================================================================
--- libcfa/src/containers/list.hfa	(revision 7a2972b97be35da9413264fd620168961da7803d)
+++ libcfa/src/containers/list.hfa	(revision 7ee3c873b9e89a6ba296bf3372897c315fee1b41)
@@ -83,8 +83,13 @@
 		(this.is_terminator){ 1 };
 	}
-	forall ( tInit | { void ?{}( $mgd_link(tE) &, tInit); } )
-	static inline void ?=?( $mgd_link(tE) &this, tInit i ) {
-		^?{}( this );
-		?{}( this, i );
+	static inline void ?=?( $mgd_link(tE) &this, tE* elem ) {
+		this.elem = elem ;
+		this.terminator = 0p;
+		this.is_terminator = 0;
+	}
+	static inline void ?=?( $mgd_link(tE) &this, void * terminator ) {
+		this.elem = 0p;
+		this.terminator = terminator;
+		this.is_terminator = 1;
 	}
 	struct $dlinks {
@@ -181,9 +186,9 @@
 
 	static inline void insert_after(Tnode &list_pos, Telem &to_insert) {
-		assert (&list_pos != 0p);
-		assert (&to_insert != 0p);
+		verify (&list_pos != 0p);
+		verify (&to_insert != 0p);
 		Tnode &singleton_to_insert = $tempcv_e2n(to_insert);
-		assert($prev_link(singleton_to_insert).elem == 0p);
-		assert($next_link(singleton_to_insert).elem == 0p);
+		verify($prev_link(singleton_to_insert).elem == 0p);
+		verify($next_link(singleton_to_insert).elem == 0p);
 		$prev_link(singleton_to_insert) = & $tempcv_n2e(list_pos);
 		$next_link(singleton_to_insert) = $next_link(list_pos);
@@ -204,9 +209,9 @@
 
 	static inline void insert_before(Tnode &list_pos, Telem &to_insert) {
-		assert (&list_pos != 0p);
-		assert (&to_insert != 0p);
+		verify (&list_pos != 0p);
+		verify (&to_insert != 0p);
 		Tnode &singleton_to_insert = $tempcv_e2n(to_insert);
-		assert($prev_link(singleton_to_insert).elem == 0p);
-		assert($next_link(singleton_to_insert).elem == 0p);
+		verify($prev_link(singleton_to_insert).elem == 0p);
+		verify($next_link(singleton_to_insert).elem == 0p);
 		$next_link(singleton_to_insert) = & $tempcv_n2e(list_pos);
 		$prev_link(singleton_to_insert) = $prev_link(list_pos);
@@ -227,9 +232,9 @@
 
     static inline void insert_first(dlist(Tnode, Telem) &list, Telem &to_insert) {
-		assert (&list != 0p);
-		assert (&to_insert != 0p);
+		verify (&list != 0p);
+		verify (&to_insert != 0p);
 		Tnode &singleton_to_insert = $tempcv_e2n(to_insert);
-		assert($prev_link(singleton_to_insert).elem == 0p);
-		assert($next_link(singleton_to_insert).elem == 0p);
+		verify($prev_link(singleton_to_insert).elem == 0p);
+		verify($next_link(singleton_to_insert).elem == 0p);
 
 		$prev_link(singleton_to_insert) = (void*) &list;
@@ -249,9 +254,9 @@
 
     static inline void insert_last(dlist(Tnode, Telem) &list, Telem &to_insert) {
-		assert (&list != 0p);
-		assert (&to_insert != 0p);
+		verify (&list != 0p);
+		verify (&to_insert != 0p);
 		Tnode &singleton_to_insert = $tempcv_e2n(to_insert);
-		assert($next_link(singleton_to_insert).elem == 0p);
-		assert($prev_link(singleton_to_insert).elem == 0p);
+		verify($next_link(singleton_to_insert).elem == 0p);
+		verify($prev_link(singleton_to_insert).elem == 0p);
 
 		$next_link(singleton_to_insert) = (void*) &list;
@@ -271,5 +276,5 @@
 
     static inline void remove(Tnode &list_pos) {
-		assert( &list_pos != 0p );
+		verify( &list_pos != 0p );
 
 		$mgd_link(Telem) &incoming_from_prev = *0p;
@@ -308,15 +313,15 @@
 
 	static inline bool ?`is_empty(dlist(Tnode, Telem) &list) {
-		assert( &list != 0p );
+		verify( &list != 0p );
 		$dlinks(Telem) *listLinks = & list.$links;
 		if (listLinks->next.is_terminator) {
-			assert(listLinks->prev.is_terminator);
-			assert(listLinks->next.terminator);
-			assert(listLinks->prev.terminator);
+			verify(listLinks->prev.is_terminator);
+			verify(listLinks->next.terminator);
+			verify(listLinks->prev.terminator);
 			return true;
 		} else {
-			assert(!listLinks->prev.is_terminator);
-			assert(listLinks->next.elem);
-			assert(listLinks->prev.elem);
+			verify(!listLinks->prev.is_terminator);
+			verify(listLinks->next.elem);
+			verify(listLinks->prev.elem);
 			return false;
 		}
@@ -324,6 +329,6 @@
 
 	static inline Telem & pop_first(dlist(Tnode, Telem) &list) {
-		assert( &list != 0p );
-		assert( !list`is_empty );
+		verify( &list != 0p );
+		verify( !list`is_empty );
 		$dlinks(Telem) *listLinks = & list.$links;
 		Telem & first = *listLinks->next.elem;
@@ -334,6 +339,6 @@
 
 	static inline Telem & pop_last(dlist(Tnode, Telem) &list) {
-		assert( &list != 0p );
-		assert( !list`is_empty );
+		verify( &list != 0p );
+		verify( !list`is_empty );
 		$dlinks(Telem) *listLinks = & list.$links;
 		Telem & last = *listLinks->prev.elem;
