Index: libcfa/src/concurrency/alarm.cfa
===================================================================
--- libcfa/src/concurrency/alarm.cfa	(revision 61dd73dbc9ed2199345b4a1fa560ffa30aca0634)
+++ libcfa/src/concurrency/alarm.cfa	(revision f90d10f6231d45b51da6ee971349890424aad7a5)
@@ -51,5 +51,4 @@
 	this.alarm = alarm;
 	this.period = period;
-	next = 0;
 	set = false;
 	kernel_alarm = false;
@@ -60,5 +59,4 @@
 	this.alarm = alarm;
 	this.period = period;
-	next = 0;
 	set = false;
 	kernel_alarm = true;
@@ -71,80 +69,30 @@
 }
 
-#if !defined(NDEBUG) && (defined(__CFA_DEBUG__) || defined(__CFA_VERIFY__))
-bool validate( alarm_list_t * this ) {
-	alarm_node_t ** it = &this->head;
-	while( (*it) ) {
-		it = &(*it)->next;
+void insert( alarm_list_t * this, alarm_node_t * n ) {
+	alarm_node_t * it = & (*this)`first;
+	while( it && (n->alarm > it->alarm) ) {
+		it = & (*it)`next;
+	}
+	if ( it ) {
+		insert_before( *it, *n );
+	} else {
+		insert_last(*this, *n);
 	}
 
-	return it == this->tail;
-}
-#endif
-
-static inline void insert_at( alarm_list_t * this, alarm_node_t * n, __alarm_it_t p ) {
-	verify( !n->next );
-	if( p == this->tail ) {
-		this->tail = &n->next;
-	}
-	else {
-		n->next = *p;
-	}
-	*p = n;
-
-	verify( validate( this ) );
-}
-
-void insert( alarm_list_t * this, alarm_node_t * n ) {
-	alarm_node_t ** it = &this->head;
-	while( (*it) && (n->alarm > (*it)->alarm) ) {
-		it = &(*it)->next;
-	}
-
-	insert_at( this, n, it );
-
-	verify( validate( this ) );
+	verify( validate( *this ) );
 }
 
 alarm_node_t * pop( alarm_list_t * this ) {
-	alarm_node_t * head = this->head;
+	verify( validate( *this ) );
+	alarm_node_t * head = & (*this)`first;
 	if( head ) {
-		this->head = head->next;
-		if( !head->next ) {
-			this->tail = &this->head;
-		}
-		head->next = 0p;
+		remove(*head);
 	}
-	verify( validate( this ) );
+	verify( validate( *this ) );
 	return head;
 }
 
-static inline void remove_at( alarm_list_t * this, alarm_node_t * n, __alarm_it_t it ) {
-	verify( it );
-	verify( (*it) == n );
-
-	(*it) = n->next;
-	if( !n-> next ) {
-		this->tail = it;
-	}
-	n->next = 0p;
-
-	verify( validate( this ) );
-}
-
-static inline void remove( alarm_list_t * this, alarm_node_t * n ) {
-	alarm_node_t ** it = &this->head;
-	while( (*it) && (*it) != n ) {
-		it = &(*it)->next;
-	}
-
-	verify( validate( this ) );
-
-	if( *it ) { remove_at( this, n, it ); }
-
-	verify( validate( this ) );
-}
-
 void register_self( alarm_node_t * this ) {
-	alarm_list_t * alarms = &event_kernel->alarms;
+	alarm_list_t & alarms = event_kernel->alarms;
 
 	disable_interrupts();
@@ -152,9 +100,9 @@
 	{
 		verify( validate( alarms ) );
-		bool first = !alarms->head;
+		bool first = ! & alarms`first;
 
-		insert( alarms, this );
+		insert( &alarms, this );
 		if( first ) {
-			__kernel_set_timer( alarms->head->alarm - __kernel_get_time() );
+			__kernel_set_timer( alarms`first.alarm - __kernel_get_time() );
 		}
 	}
@@ -168,6 +116,6 @@
 	lock( event_kernel->lock __cfaabi_dbg_ctx2 );
 	{
-		verify( validate( &event_kernel->alarms ) );
-		remove( &event_kernel->alarms, this );
+		verify( validate( event_kernel->alarms ) );
+		remove( *this );
 	}
 	unlock( event_kernel->lock );
@@ -187,5 +135,6 @@
 
 	/* paranoid */ verify( !node.set );
-	/* paranoid */ verify( node.next == 0p );
+	/* paranoid */ verify( & node`next == 0p );
+	/* paranoid */ verify( & node`prev == 0p );
 }
 
Index: libcfa/src/concurrency/alarm.hfa
===================================================================
--- libcfa/src/concurrency/alarm.hfa	(revision 61dd73dbc9ed2199345b4a1fa560ffa30aca0634)
+++ libcfa/src/concurrency/alarm.hfa	(revision f90d10f6231d45b51da6ee971349890424aad7a5)
@@ -23,4 +23,6 @@
 #include "time.hfa"
 
+#include <containers/list.hfa>
+
 struct $thread;
 struct processor;
@@ -40,5 +42,6 @@
 	Time alarm;				// time when alarm goes off
 	Duration period;			// if > 0 => period of alarm
-	alarm_node_t * next;		// intrusive link list field
+
+	DLISTED_MGD_IMPL_IN(alarm_node_t)
 
 	union {
@@ -50,6 +53,5 @@
 	bool kernel_alarm	:1;		// true if this is not a user defined alarm
 };
-
-typedef alarm_node_t ** __alarm_it_t;
+DLISTED_MGD_IMPL_OUT(alarm_node_t)
 
 void ?{}( alarm_node_t & this, $thread * thrd, Time alarm, Duration period );
@@ -57,13 +59,5 @@
 void ^?{}( alarm_node_t & this );
 
-struct alarm_list_t {
-	alarm_node_t * head;
-	__alarm_it_t tail;
-};
-
-static inline void ?{}( alarm_list_t & this ) with( this ) {
-	head = 0;
-	tail = &head;
-}
+typedef dlist(alarm_node_t, alarm_node_t) alarm_list_t;
 
 void insert( alarm_list_t * this, alarm_node_t * n );
Index: libcfa/src/concurrency/io.cfa
===================================================================
--- libcfa/src/concurrency/io.cfa	(revision 61dd73dbc9ed2199345b4a1fa560ffa30aca0634)
+++ libcfa/src/concurrency/io.cfa	(revision f90d10f6231d45b51da6ee971349890424aad7a5)
@@ -20,17 +20,17 @@
 
 #if !defined(HAVE_LINUX_IO_URING_H)
-	void __kernel_io_startup( cluster & ) {
+	void __kernel_io_startup( cluster &, bool ) {
 		// Nothing to do without io_uring
 	}
 
-	void __kernel_io_start_thrd( cluster & ) {
+	void __kernel_io_finish_start( cluster & ) {
 		// Nothing to do without io_uring
 	}
 
-	void __kernel_io_stop_thrd ( cluster & ) {
+	void __kernel_io_prepare_stop( cluster & ) {
 		// Nothing to do without io_uring
 	}
 
-	void __kernel_io_shutdown( cluster & ) {
+	void __kernel_io_shutdown( cluster &, bool ) {
 		// Nothing to do without io_uring
 	}
@@ -695,7 +695,4 @@
 	extern int close(int fd);
 
-	struct statx;
-	extern int statx(int dirfd, const char *pathname, int flags, unsigned int mask, struct statx *statxbuf);
-
 	extern ssize_t read (int fd, void *buf, size_t count);
 }
@@ -907,21 +904,4 @@
 
 		(*sqe){ IORING_OP_CLOSE, fd };
-
-		__submit_wait
-	#endif
-}
-
-int cfa_statx(int dirfd, const char *pathname, int flags, unsigned int mask, struct statx *statxbuf) {
-	#if !defined(HAVE_LINUX_IO_URING_H) || !defined(IORING_OP_STATX)
-		//return statx( dirfd, pathname, flags, mask, statxbuf );
-		return syscall( __NR_statx, dirfd, pathname, flags, mask, statxbuf );
-	#else
-		__submit_prelude
-
-		(*sqe){ IORING_OP_STATX, dirfd };
-		sqe->addr = (uint64_t)pathname;
-		sqe->statx_flags = flags;
-		sqe->len = mask;
-		sqe->off = (uint64_t)statxbuf;
 
 		__submit_wait
@@ -1040,9 +1020,4 @@
 			return IS_DEFINED(IORING_OP_CLOSE);
 
-		if( /*func == (fptr_t)statx || */
-			func == (fptr_t)cfa_statx )
-			#define _CFA_IO_FEATURE_IORING_OP_STATX ,
-			return IS_DEFINED(IORING_OP_STATX);
-
 		if( /*func == (fptr_t)read || */
 			func == (fptr_t)cfa_read )
Index: libcfa/src/concurrency/preemption.cfa
===================================================================
--- libcfa/src/concurrency/preemption.cfa	(revision 61dd73dbc9ed2199345b4a1fa560ffa30aca0634)
+++ libcfa/src/concurrency/preemption.cfa	(revision f90d10f6231d45b51da6ee971349890424aad7a5)
@@ -84,6 +84,6 @@
 // Get next expired node
 static inline alarm_node_t * get_expired( alarm_list_t * alarms, Time currtime ) {
-	if( !alarms->head ) return 0p;						// If no alarms return null
-	if( alarms->head->alarm >= currtime ) return 0p;	// If alarms head not expired return null
+	if( ! & (*alarms)`first ) return 0p;						// If no alarms return null
+	if( (*alarms)`first.alarm >= currtime ) return 0p;	// If alarms head not expired return null
 	return pop(alarms);									// Otherwise just pop head
 }
@@ -120,12 +120,12 @@
 
 	// If there are still alarms pending, reset the timer
-	if( alarms->head ) {
+	if( & (*alarms)`first ) {
 		__cfaabi_dbg_print_buffer_decl( " KERNEL: @%ju(%ju) resetting alarm to %ju.\n", currtime.tv, __kernel_get_time().tv, (alarms->head->alarm - currtime).tv);
-		Duration delta = alarms->head->alarm - currtime;
-		Duration caped = max(delta, 50`us);
+		Duration delta = (*alarms)`first.alarm - currtime;
+		Duration capped = max(delta, 50`us);
 		// itimerval tim  = { caped };
 		// __cfaabi_dbg_print_buffer_local( "    Values are %lu, %lu, %lu %lu.\n", delta.tv, caped.tv, tim.it_value.tv_sec, tim.it_value.tv_usec);
 
-		__kernel_set_timer( caped );
+		__kernel_set_timer( capped );
 	}
 }
Index: libcfa/src/containers/list.hfa
===================================================================
--- libcfa/src/containers/list.hfa	(revision 61dd73dbc9ed2199345b4a1fa560ffa30aca0634)
+++ libcfa/src/containers/list.hfa	(revision f90d10f6231d45b51da6ee971349890424aad7a5)
@@ -71,10 +71,10 @@
 		// will collapse to single pointer with tag bit
 	};
-	inline void ?{}( $mgd_link(tE) &this, tE* elem ) {
+	static inline void ?{}( $mgd_link(tE) &this, tE* elem ) {
 		(this.elem){ elem };
 		(this.terminator){ 0p };
 		(this.is_terminator){ 0 };
 	}
-	inline void ?{}( $mgd_link(tE) &this, void * terminator ) {
+	static inline void ?{}( $mgd_link(tE) &this, void * terminator ) {
 		(this.elem){ 0p };
 		(this.terminator){ terminator };
@@ -82,5 +82,5 @@
 	}
 	forall ( otype tInit | { void ?{}( $mgd_link(tE) &, tInit); } )
-	void ?=?( $mgd_link(tE) &this, tInit i ) {
+	static inline void ?=?( $mgd_link(tE) &this, tInit i ) {
 		^?{}( this );
 		?{}( this, i );
@@ -93,5 +93,5 @@
 		$mgd_link(tE) prev;
 	};
-	inline void ?{}( $dlinks(tE) &this ) {
+	static inline void ?{}( $dlinks(tE) &this ) {
 		(this.next){ (tE *)0p };
 		(this.prev){ (tE *)0p };
@@ -132,16 +132,46 @@
 	// an empty dlist
 	// links refer to self, making a tight circle
-	void ?{}( dlist(Tnode, Telem) & this ) {
+	static inline void ?{}( dlist(Tnode, Telem) & this ) {
 		$mgd_link(Telem) selfRef = (void *) &this;
 		( this.$links ) { selfRef, selfRef };
 	}
 
-	Telem & ?`first( dlist(Tnode, Telem) &l ) {
+	static inline Telem & ?`first( dlist(Tnode, Telem) &l ) {
 		return * l.$links.next.elem;
 	}
 
-	Telem & ?`last( dlist(Tnode, Telem) &l ) {
+	static inline Telem & ?`last( dlist(Tnode, Telem) &l ) {
 		return * l.$links.prev.elem;
 	}
+
+	#if !defined(NDEBUG) && (defined(__CFA_DEBUG__) || defined(__CFA_VERIFY__))
+	static bool $validate_fwd( dlist(Tnode, Telem) & this ) {
+		Tnode * it = & $tempcv_e2n( this`first );
+		if (!it) return (& this`last == 0p);
+
+		while( $next_link(*it).elem ) {
+			it = & $tempcv_e2n( * $next_link(*it).elem );
+		}
+
+		return ( it == & $tempcv_e2n( this`last ) ) &&
+			   ( $next_link(*it).is_terminator ) &&
+			   ( ((dlist(Tnode, Telem)*)$next_link(*it).terminator) == &this );
+	}
+	static bool $validate_rev( dlist(Tnode, Telem) & this ) {
+		Tnode * it = & $tempcv_e2n( this`last );
+		if (!it) return (& this`first == 0p);
+
+		while( $prev_link(*it).elem ) {
+			it = & $tempcv_e2n( * $prev_link(*it).elem );
+		}
+
+		return ( it == & $tempcv_e2n( this`first ) ) &&
+			   ( $prev_link(*it).is_terminator ) &&
+			   ( ((dlist(Tnode, Telem)*)$prev_link(*it).terminator) == &this );
+	}
+	static bool validate( dlist(Tnode, Telem) & this ) {
+		return $validate_fwd(this) && $validate_rev(this);
+	}
+	#endif
 
 	static inline void insert_after(Tnode &list_pos, Telem &to_insert) {
@@ -152,5 +182,5 @@
 		assert($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).elem;
+		$next_link(singleton_to_insert) = $next_link(list_pos);
 		if ($next_link(list_pos).is_terminator) {
 			dlist(Tnode, Telem) *list = $next_link(list_pos).terminator;
@@ -175,5 +205,5 @@
 		assert($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).elem;
+		$prev_link(singleton_to_insert) = $prev_link(list_pos);
 		if ($prev_link(list_pos).is_terminator) {
 			dlist(Tnode, Telem) *list = $prev_link(list_pos).terminator;
Index: tests/list/dlist-insert-remove.cfa
===================================================================
--- tests/list/dlist-insert-remove.cfa	(revision 61dd73dbc9ed2199345b4a1fa560ffa30aca0634)
+++ tests/list/dlist-insert-remove.cfa	(revision f90d10f6231d45b51da6ee971349890424aad7a5)
@@ -258,4 +258,6 @@
 	dlist(fred_in_mine, fred) lf;
 
+	verify(validate(lf));
+
 	printMyFreddies(f1, f2, 1);     // 3.14; 3.14; 0.5; 0.5
 	printYourFreddies(f1, f2, 1);   // 3.14; 3.14; 0.5; 0.5
@@ -264,4 +266,6 @@
 	insert_first(lf, f1);
 
+	verify(validate(lf));
+
 	printMyFreddies(f1, f2, 0);     // 3.14, 0.5; 3.14; 0.5; 0.5, 3.14 (modified)
 	printYourFreddies(f1, f2, 0);   // 3.14; 3.14; 0.5; 0.5 (unmodified)
@@ -275,4 +279,6 @@
 	dlist(fred_in_yours, fred) lf;
 
+	verify(validate(lf));
+
 	printMyFreddies(f1, f2, 1);     // 3.14; 3.14; 0.5; 0.5
 	printYourFreddies(f1, f2, 1);   // 3.14; 3.14; 0.5; 0.5
@@ -281,4 +287,6 @@
 	insert_first(lf, f1);
 
+	verify(validate(lf));
+
 	printMyFreddies(f1, f2, 0);     // 3.14; 3.14; 0.5; 0.5 (unmodified)
 	printYourFreddies(f1, f2, 0);   // 3.14, 0.5; 3.14; 0.5; 0.5, 3.14 (modified)
@@ -292,4 +300,5 @@
 	dlist(mary, mary) lm;
 
+	verify(validate(lm));
 	printMariatheotokos(m1, m2, 1); // 3.14; 3.14; 0.5; 0.5
 
@@ -298,4 +307,5 @@
 
 	printMariatheotokos(m1, m2, 0); // 3.14, 0.5; 3.14; 0.5; 0.5, 3.14 (modified)
+	verify(validate(lm));
 }
 
@@ -317,4 +327,6 @@
 	dlist(fred_in_mine, fred) lf;
 
+	verify(validate(lf));
+
 	printMyFreddies(f1, f2, 1);     // 3.14; 3.14; 0.5; 0.5
 	printYourFreddies(f1, f2, 1);   // 3.14; 3.14; 0.5; 0.5
@@ -323,4 +335,6 @@
 	insert_last(lf, f2);
 
+	verify(validate(lf));
+
 	printMyFreddies(f1, f2, 0);     // 3.14, 0.5; 3.14; 0.5; 0.5, 3.14 (modified)
 	printYourFreddies(f1, f2, 0);   // 3.14; 3.14; 0.5; 0.5 (unmodified)
@@ -334,4 +348,6 @@
 	dlist(fred_in_yours, fred) lf;
 
+	verify(validate(lf));
+
 	printMyFreddies(f1, f2, 1);     // 3.14; 3.14; 0.5; 0.5
 	printYourFreddies(f1, f2, 1);   // 3.14; 3.14; 0.5; 0.5
@@ -340,4 +356,6 @@
 	insert_last(lf, f2);
 
+	verify(validate(lf));
+
 	printMyFreddies(f1, f2, 0);     // 3.14; 3.14; 0.5; 0.5 (unmodified)
 	printYourFreddies(f1, f2, 0);   // 3.14, 0.5; 3.14; 0.5; 0.5, 3.14 (modified)
@@ -351,4 +369,5 @@
 	dlist(mary, mary) lm;
 
+	verify(validate(lm));
 	printMariatheotokos(m1, m2, 1); // 3.14; 3.14; 0.5; 0.5
 
@@ -356,4 +375,5 @@
 	insert_last(lm, m2);
 
+	verify(validate(lm));
 	printMariatheotokos(m1, m2, 0); // 3.14, 0.5; 3.14; 0.5; 0.5, 3.14 (modified)
 }
@@ -384,5 +404,9 @@
 	assert(& lf`last == & f1);
 
+	verify(validate(lf));
+
 	insert_after(f1`in_mine, f2);
+
+	verify(validate(lf));
 
 	printMyFreddies(f1, f2, 0);     // 3.14, 0.5; 3.14; 0.5; 0.5, 3.14 (modified)
@@ -408,5 +432,9 @@
 	assert(& lf`last == & f1);
 
+	verify(validate(lf));
+
 	insert_after(f1`in_yours, f2);
+
+	verify(validate(lf));
 
 	printMyFreddies(f1, f2, 0);     // 3.14; 3.14; 0.5; 0.5 (unmodified)
@@ -432,5 +460,9 @@
 	assert(& lm`last == & m1);
 
+	verify(validate(lm));
+
 	insert_after(m1, m2);
+
+	verify(validate(lm));
 
 	printMariatheotokos(m1, m2, 0); // 3.14, 0.5; 3.14; 0.5; 0.5, 3.14 (modified)
@@ -465,5 +497,9 @@
 	assert(& lf`last == & f2);
 
+	verify(validate(lf));
+
 	insert_before(f2`in_mine, f1);
+
+	verify(validate(lf));
 
 	printMyFreddies(f1, f2, 0);     // 3.14, 0.5; 3.14; 0.5; 0.5, 3.14 (modified)
@@ -489,5 +525,9 @@
 	assert(& lf`last == & f2);
 
+	verify(validate(lf));
+
 	insert_before(f2`in_yours, f1);
+
+	verify(validate(lf));
 
 	printMyFreddies(f1, f2, 0);     // 3.14; 3.14; 0.5; 0.5 (unmodified)
@@ -513,5 +553,9 @@
 	assert(& lm`last == & m2);
 
+	verify(validate(lm));
+
 	insert_before(m2, m1);
+
+	verify(validate(lm));
 
 	printMariatheotokos(m1, m2, 0); // 3.14, 0.5; 3.14; 0.5; 0.5, 3.14 (modified)
@@ -822,5 +866,11 @@
 	printYourFreddies(fly`first, fly`last, 1);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
 
+	verify(validate(fly));
+	verify(validate(flm));
+
 	remove(f1`in_mine);
+
+	verify(validate(fly));
+	verify(validate(flm));
 
 	printMyFreddies(flm`first, flm`last, 0);     // 2.7, 3.7;       2.7;  3.7;  3.7, 2.7      (modified)
@@ -854,5 +904,11 @@
 	printYourFreddies(fly`first, fly`last, 1);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
 
+	verify(validate(fly));
+	verify(validate(flm));
+
 	remove(f1`in_yours);
+
+	verify(validate(fly));
+	verify(validate(flm));
 
 	printMyFreddies(flm`first, flm`last, 0);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 (unmodified)
@@ -880,5 +936,9 @@
 	printMariatheotokos(ml`first, ml`last, 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
 
+	verify(validate(ml));
+
 	remove(m1);
+
+	verify(validate(ml));
 
 	printMariatheotokos(ml`first, ml`last, 0);     // 2.7, 3.7;       2.7;  3.7;  3.7, 2.7      (modified)
@@ -921,5 +981,11 @@
 	printYourFreddies(fly`first, fly`last, 1);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
 
+	verify(validate(fly));
+	verify(validate(flm));
+
 	remove(f3`in_mine);
+
+	verify(validate(fly));
+	verify(validate(flm));
 
 	printMyFreddies(flm`first, flm`last, 0);     // 1.7, 2.7;       1.7;  2.7;  2.7, 1.7      (modified)
@@ -953,5 +1019,11 @@
 	printYourFreddies(fly`first, fly`last, 1);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
 
+	verify(validate(fly));
+	verify(validate(flm));
+
 	remove(f3`in_yours);
+
+	verify(validate(fly));
+	verify(validate(flm));
 
 	printMyFreddies(flm`first, flm`last, 0);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 (unmodified)
@@ -979,5 +1051,9 @@
 	printMariatheotokos(ml`first, ml`last, 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
 
+	verify(validate(ml));
+
 	remove(m3);
+
+	verify(validate(ml));
 
 	printMariatheotokos(ml`first, ml`last, 0);     // 1.7, 2.7;       1.7;  2.7;  2.7, 1.7      (modified)
@@ -1014,5 +1090,11 @@
 	printYourFreddies(fly`first, fly`last, 1);   // 0.7; 0.7; 0.7; 0.7
 
+	verify(validate(fly));
+	verify(validate(flm));
+
 	remove(f`in_mine);
+
+	verify(validate(fly));
+	verify(validate(flm));
 
 	assert(& flm`first == 0p);
@@ -1029,4 +1111,6 @@
 
 	insert_last(flm, f);
+	verify(validate(fly));
+	verify(validate(flm));
 	printMyFreddies(flm`first, flm`last, 0);     // 0.7; 0.7; 0.7; 0.7
 }
@@ -1045,5 +1129,11 @@
 	printYourFreddies(fly`first, fly`last, 1);   // 0.7; 0.7; 0.7; 0.7
 
+	verify(validate(fly));
+	verify(validate(flm));
+
 	remove(f`in_yours);
+
+	verify(validate(fly));
+	verify(validate(flm));
 
 	assert(& fly`first == 0p);
@@ -1060,4 +1150,6 @@
 
 	insert_last(fly, f);
+	verify(validate(fly));
+	verify(validate(flm));
 	printYourFreddies(fly`first, fly`last, 0);     // 0.7; 0.7; 0.7; 0.7
 }
@@ -1072,5 +1164,9 @@
 	printMariatheotokos(ml`first, ml`last, 1);     // 0.7; 0.7; 0.7; 0.7
 
+	verify(validate(ml));
+
 	remove(m);
+
+	verify(validate(ml));
 
 	assert(& ml`first == 0p);
@@ -1085,4 +1181,5 @@
 
 	insert_last(ml, m);
+	verify(validate(ml));
 	printMariatheotokos(ml`first, ml`last, 0);     // 0.7; 0.7; 0.7; 0.7
 }
