Index: libcfa/src/collections/list.hfa
===================================================================
--- libcfa/src/collections/list.hfa	(revision 81ab5ebb3b497e7c713dd340f479f3d7e803ea4a)
+++ libcfa/src/collections/list.hfa	(revision e6e250dd2e3aad6c341b64a30dc67e27608341a2)
@@ -10,6 +10,6 @@
 // Created On       : Wed Apr 22 18:00:00 2020
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Mar 29 21:20:44 2026
-// Update Count     : 101
+// Last Modified On : Sun Mar 29 22:59:08 2026
+// Update Count     : 104
 //
 
@@ -188,5 +188,5 @@
 
 static inline forall( tE &, tLinks & | embedded( tE, tLinks, dlink( tE ) ) ) {
-	bool isListed( tE & node ) {
+	bool listed( tE & node ) {
 	  NOLOOSE(
 		verify( &node != 0p );
@@ -195,5 +195,5 @@
 	  )
 	  LOOSEONLY(
-		verify(false && "isListed is undefined");
+		verify(false && "listed is undefined");
 		return true;
 	  )
@@ -204,8 +204,4 @@
 		if ( ORIGIN_TAG_QUERY(( size_t)firstPtr) ) firstPtr = 0p;
 		return firstPtr == 0p;
-	}
-
-	bool isEmpty( dlist( tE, tLinks ) & list ) {		// deprecated
-		return empty( list );
 	}
 
@@ -339,9 +335,9 @@
 	}
 
-	bool isFirst( tE & node ) {
+	bool first( tE & node ) {
 		return recede( node );
 	}
 
-	bool isLast( tE & node ) {
+	bool last( tE & node ) {
 		return advance( node );
     }
Index: libcfa/src/collections/list2.hfa
===================================================================
--- libcfa/src/collections/list2.hfa	(revision 81ab5ebb3b497e7c713dd340f479f3d7e803ea4a)
+++ libcfa/src/collections/list2.hfa	(revision e6e250dd2e3aad6c341b64a30dc67e27608341a2)
@@ -19,6 +19,6 @@
 // Created On       : Wed Apr 22 18:00:00 2020
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Mar 29 21:47:53 2026
-// Update Count     : 12
+// Last Modified On : Sun Mar 29 22:59:31 2026
+// Update Count     : 15
 //
 
@@ -454,10 +454,5 @@
 	}
 
-	static inline bool isEmpty( dlist(tE, tLinks) & list ) __attribute__ ((deprecated));
-	static inline bool isEmpty( dlist(tE, tLinks) & list ) {
-		return empty( list );
-	}
-
-	static inline bool isListed( tE & e ) {
+	static inline bool listed( tE & e ) {
 	  NOLOOSE(
 		verify (&e != 0p);
@@ -469,5 +464,5 @@
 	  )
 	  LOOSEONLY(
-		verify(false && "isListed is undefined");
+		verify(false && "listed is undefined");
 		return true;
 	  )
@@ -516,5 +511,5 @@
 	}
 
-	bool isFirst( tE & node ) {
+	bool first( tE & node ) {
 		// Probable bug copied from master
 		// should be `! recede(node)`
@@ -524,5 +519,5 @@
 	}
 
-	bool isLast( tE & node ) {
+	bool last( tE & node ) {
 		// ditto, vice versa
 		return advance( node );
Index: libcfa/src/concurrency/channel.hfa
===================================================================
--- libcfa/src/concurrency/channel.hfa	(revision 81ab5ebb3b497e7c713dd340f479f3d7e803ea4a)
+++ libcfa/src/concurrency/channel.hfa	(revision e6e250dd2e3aad6c341b64a30dc67e27608341a2)
@@ -369,7 +369,7 @@
 	///////////////////////////////////////////////////////////////////////////////////////////
 	bool unregister_chan( channel(T) & chan, select_node & node ) with(chan) {
-	    if ( ! isListed( node ) && ! node.park_counter ) return false; // handle special OR case
+	    if ( ! listed( node ) && ! node.park_counter ) return false; // handle special OR case
 	    lock( mutex_lock );
-	    if ( isListed( node ) ) { // op wasn't performed
+	    if ( listed( node ) ) { // op wasn't performed
 	        remove( node );
 	        unlock( mutex_lock );
Index: libcfa/src/concurrency/future.hfa
===================================================================
--- libcfa/src/concurrency/future.hfa	(revision 81ab5ebb3b497e7c713dd340f479f3d7e803ea4a)
+++ libcfa/src/concurrency/future.hfa	(revision e6e250dd2e3aad6c341b64a30dc67e27608341a2)
@@ -10,6 +10,6 @@
 // Created On       : Wed Jan 06 17:33:18 2021
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Mar 29 21:13:04 2026
-// Update Count     : 223
+// Last Modified On : Sun Mar 29 22:47:01 2026
+// Update Count     : 224
 //
 
@@ -79,7 +79,7 @@
 
 		bool unregister_select$( future(T) & fut, select_node & s ) with( fut ) { // for waituntil statement
-		  if ( ! isListed( s ) ) return false;
-			lock( lock );
-			if ( isListed( s ) ) remove( s );
+		  if ( ! listed( s ) ) return false;
+			lock( lock );
+			if ( listed( s ) ) remove( s );
 			unlock( lock );
 			return false;
Index: libcfa/src/concurrency/locks.cfa
===================================================================
--- libcfa/src/concurrency/locks.cfa	(revision 81ab5ebb3b497e7c713dd340f479f3d7e803ea4a)
+++ libcfa/src/concurrency/locks.cfa	(revision e6e250dd2e3aad6c341b64a30dc67e27608341a2)
@@ -220,5 +220,5 @@
 bool unregister_select$( blocking_lock & this, select_node & node ) with(this) {
 	lock( lock __cfaabi_dbg_ctx2 );
-	if ( isListed( node ) ) {
+	if ( listed( node ) ) {
 		remove( node );
 		wait_count--;
@@ -265,5 +265,5 @@
 		// 	may still be called after a thread has been removed from the queue but
 		// 	before the alarm is unregistered
-		if ( isListed( *info_thd ) ) {					// is thread on queue
+		if ( listed( *info_thd ) ) {					// is thread on queue
 			info_thd->signalled = false;
 			// remove this thread O(1)
@@ -304,5 +304,5 @@
 		// 	may still be called after a thread has been removed from the queue but
 		// 	before the alarm is unregistered
-		if ( isListed( *info_thd ) ) {					// is thread on queue
+		if ( listed( *info_thd ) ) {					// is thread on queue
 			info_thd->signalled = false;
 			// remove this thread O(1)
Index: libcfa/src/concurrency/locks.hfa
===================================================================
--- libcfa/src/concurrency/locks.hfa	(revision 81ab5ebb3b497e7c713dd340f479f3d7e803ea4a)
+++ libcfa/src/concurrency/locks.hfa	(revision e6e250dd2e3aad6c341b64a30dc67e27608341a2)
@@ -11,6 +11,6 @@
 // Created On       : Thu Jan 21 19:46:50 2021
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Nov 23 22:38:45 2025
-// Update Count     : 67
+// Last Modified On : Sun Mar 29 22:46:39 2026
+// Update Count     : 68
 //
 
@@ -645,5 +645,5 @@
 static inline bool unregister_select$( simple_owner_lock & this, select_node & node ) with( this ) {
 	lock( lock __cfaabi_dbg_ctx2 );
-	if ( isListed( node ) ) {
+	if ( listed( node ) ) {
 		remove( node );
 		unlock( lock );
Index: tests/list/.expect/dlist-insert-remove.txt
===================================================================
--- tests/list/.expect/dlist-insert-remove.txt	(revision 81ab5ebb3b497e7c713dd340f479f3d7e803ea4a)
+++ tests/list/.expect/dlist-insert-remove.txt	(revision e6e250dd2e3aad6c341b64a30dc67e27608341a2)
@@ -1109,3 +1109,3 @@
 try_pop cases done
 origin_mutation cases done
-isListed cases done
+listed cases done
Index: tests/list/dlist-insert-remove.cfa
===================================================================
--- tests/list/dlist-insert-remove.cfa	(revision 81ab5ebb3b497e7c713dd340f479f3d7e803ea4a)
+++ tests/list/dlist-insert-remove.cfa	(revision e6e250dd2e3aad6c341b64a30dc67e27608341a2)
@@ -1436,5 +1436,5 @@
 // Section 4g
 //
-// Test cases of empty, isFirst, isLast,
+// Test cases of empty, first, last,
 // remove_first, remove_last, modifications via iter
 //
@@ -1469,10 +1469,10 @@
 	assert( &m3next == 0p );
 
-	assert( ! isFirst( m1 ) );
-	assert( isLast( m1 ) );
-	assert( isFirst( m2 ) );
-	assert( isLast( m2 ) );
-	assert( isFirst( m3 ) );
-	assert( ! isLast( m3 ) );
+	assert( ! first( m1 ) );
+	assert( last( m1 ) );
+	assert( first( m2 ) );
+	assert( last( m2 ) );
+	assert( first( m3 ) );
+	assert( ! last( m3 ) );
 
 	printf("accessor_cases done\n");
@@ -1615,21 +1615,21 @@
 }
 
-void test__isListed_cases__mary() {
-
-	mary m1 = {1.7};        assert( ! isListed( m1 ) );
-	mary m2 = {2.7};        assert( ! isListed( m2 ) );
-	mary m3 = {3.7};        assert( ! isListed( m3 ) );
+void test__listed_cases__mary() {
+
+	mary m1 = {1.7};        assert( ! listed( m1 ) );
+	mary m2 = {2.7};        assert( ! listed( m2 ) );
+	mary m3 = {3.7};        assert( ! listed( m3 ) );
 
 	dlist(mary) ml;
 
-	insert_last(ml, m1);	assert( isListed( m1 ) );  assert(! isListed( m2 ) );
-	insert_last(ml, m2);	assert( isListed( m2 ) );  assert(! isListed( m3 ) );
-	insert_last(ml, m3);	assert( isListed( m3 ) );
-
-	remove( m1 );           assert( ! isListed( m1 ) );  assert(  isListed( m2 ) );
-	remove( m2 );           assert( ! isListed( m2 ) );  assert(  isListed( m3 ) );
-	remove( m3 );           assert( ! isListed( m3 ) );
-
-	printf("isListed cases done\n");
+	insert_last(ml, m1);	assert( listed( m1 ) );  assert(! listed( m2 ) );
+	insert_last(ml, m2);	assert( listed( m2 ) );  assert(! listed( m3 ) );
+	insert_last(ml, m3);	assert( listed( m3 ) );
+
+	remove( m1 );           assert( ! listed( m1 ) );  assert(  listed( m2 ) );
+	remove( m2 );           assert( ! listed( m2 ) );  assert(  listed( m3 ) );
+	remove( m3 );           assert( ! listed( m3 ) );
+
+	printf("listed cases done\n");
 }
 
@@ -1931,5 +1931,5 @@
 	test__try_pop__mary();
 	test__origin_mutation__mary();
-	test__isListed_cases__mary();
+	test__listed_cases__mary();
 
 	return 0;
