Index: tests/collections/atomic_mpsc.cfa
===================================================================
--- tests/collections/atomic_mpsc.cfa	(revision 10ef4753267823d6dcec6e823051514c6b11208b)
+++ tests/collections/atomic_mpsc.cfa	(revision 6b33e891da6ed781bdcec69c5dfdd3cb8a9d0e44)
@@ -13,5 +13,5 @@
 void ?{}(some_node & this) { this.next = 0p; }
 
-static inline some_node * volatile & ?`next ( some_node * node ) {
+static inline some_node * volatile & next( some_node * node ) {
 	return node->next;
 }
Index: tests/list/dlist-insert-remove.cfa
===================================================================
--- tests/list/dlist-insert-remove.cfa	(revision 10ef4753267823d6dcec6e823051514c6b11208b)
+++ tests/list/dlist-insert-remove.cfa	(revision 6b33e891da6ed781bdcec69c5dfdd3cb8a9d0e44)
@@ -59,5 +59,5 @@
 	do {
 		sout | f.adatum;
-	} while (f`moveNext);
+	} while (advance( f ));
 }
 
@@ -66,5 +66,5 @@
 	do {
 		sout | f.adatum;
-	} while (f`movePrev);
+	} while (recede( f ));
 }
 
@@ -94,5 +94,5 @@
 	do {
 		sout | f.adatum;
-	} while (f`moveNext);
+	} while (advance( f ));
 }
 
@@ -101,5 +101,5 @@
 	do {
 		sout | f.adatum;
-	} while (f`movePrev);
+	} while (recede( f ));
 }
 
@@ -127,5 +127,5 @@
 	do {
 		sout | m.anotherdatum;
-	} while (m`moveNext);
+	} while (advance( m ));
 }
 
@@ -133,5 +133,5 @@
 	do {
 		sout | m.anotherdatum;
-	} while (m`movePrev);
+	} while (recede( m ));
 }
 
@@ -423,11 +423,11 @@
 	dlist(fred, fred.mine) lf;
 
-	assert( & lf`first == 0p );
-	assert( & lf`last == 0p );
+	assert( &first( lf ) == 0p );
+	assert( &last( lf ) == 0p );
 
 	insert_first(lf, f1);
 
-	assert( & lf`first == & f1 );
-	assert( & lf`last  == & f1 );
+	assert( &first( lf ) == &f1 );
+	assert( &last( lf )  == &f1 );
 
 	verify(validate(lf));
@@ -440,6 +440,6 @@
 	printYourFreddies(f1, f2, 0);   // 3.14; 3.14; 0.5; 0.5 (unmodified)
 
-	assert( & lf`first == & f1 );
-	assert( & lf`last  == & f2 );
+	assert( &first( lf ) == &f1 );
+	assert( &last( lf )  == &f2 );
 }
 
@@ -451,11 +451,11 @@
 	dlist(fred, fred.yours) lf;
 
-	assert( & lf`first == 0p );
-	assert( & lf`last == 0p );
+	assert( &first( lf ) == 0p );
+	assert( &last( lf ) == 0p );
 
 	insert_first(lf, f1);
 
-	assert( & lf`first == & f1 );
-	assert( & lf`last  == & f1 );
+	assert( &first( lf ) == & f1 );
+	assert( &last( lf )  == & f1 );
 
 	verify(validate(lf));
@@ -468,6 +468,6 @@
 	printYourFreddies(f1, f2, 0);   // 3.14, 0.5; 3.14; 0.5; 0.5, 3.14 (modified)
 
-	assert( & lf`first == & f1 );
-	assert( & lf`last  == & f2 );
+	assert( &first( lf ) == & f1 );
+	assert( &last( lf )  == & f2 );
 }
 
@@ -479,11 +479,11 @@
 	dlist(mary) lm;
 
-	assert( & lm`first == 0p );
-	assert( & lm`last == 0p );
+	assert( &first( lm ) == 0p );
+	assert( &last( lm ) == 0p );
 
 	insert_first(lm, m1);
 
-	assert( & lm`first == & m1 );
-	assert( & lm`last  == & m1 );
+	assert( &first( lm ) == & m1 );
+	assert( &last( lm )  == & m1 );
 
 	verify(validate(lm));
@@ -495,6 +495,6 @@
 	printMariatheotokos(m1, m2, 0); // 3.14, 0.5; 3.14; 0.5; 0.5, 3.14 (modified)
 
-	assert( & lm`first == & m1 );
-	assert( & lm`last  == & m2 );
+	assert( &first( lm ) == & m1 );
+	assert( &last( lm )  == & m2 );
 }
 
@@ -516,11 +516,11 @@
 	dlist(fred, fred.mine) lf;
 
-	assert( & lf`first == 0p );
-	assert( & lf`last == 0p );
+	assert( &first( lf ) == 0p );
+	assert( &last( lf ) == 0p );
 
 	insert_last(lf, f2);
 
-	assert( & lf`first == & f2 );
-	assert( & lf`last  == & f2 );
+	assert( &first( lf ) == & f2 );
+	assert( &last( lf )  == & f2 );
 
 	verify(validate(lf));
@@ -533,6 +533,6 @@
 	printYourFreddies(f1, f2, 0);   // 3.14; 3.14; 0.5; 0.5 (unmodified)
 
-	assert( & lf`first == & f1 );
-	assert( & lf`last  == & f2 );
+	assert( &first( lf ) == & f1 );
+	assert( &last( lf )  == & f2 );
 }
 
@@ -544,11 +544,11 @@
 	dlist(fred, fred.yours) lf;
 
-	assert( & lf`first == 0p );
-	assert( & lf`last == 0p );
+	assert( &first( lf ) == 0p );
+	assert( &last( lf ) == 0p );
 
 	insert_last(lf, f2);
 
-	assert( & lf`first == & f2 );
-	assert( & lf`last  == & f2 );
+	assert( &first( lf ) == & f2 );
+	assert( &last( lf )  == & f2 );
 
 	verify(validate(lf));
@@ -561,6 +561,6 @@
 	printYourFreddies(f1, f2, 0);   // 3.14, 0.5; 3.14; 0.5; 0.5, 3.14 (modified)
 
-	assert( & lf`first == & f1 );
-	assert( & lf`last  == & f2 );
+	assert( &first( lf ) == & f1 );
+	assert( &last( lf )  == & f2 );
 }
 
@@ -572,11 +572,11 @@
 	dlist(mary) lm;
 
-	assert( & lm`first == 0p );
-	assert( & lm`last == 0p );
+	assert( &first( lm ) == 0p );
+	assert( &last( lm ) == 0p );
 
 	insert_last(lm, m2);
 
-	assert( & lm`first == & m2 );
-	assert( & lm`last  == & m2 );
+	assert( &first( lm ) == & m2 );
+	assert( &last( lm )  == & m2 );
 
 	verify(validate(lm));
@@ -588,6 +588,6 @@
 	printMariatheotokos(m1, m2, 0); // 3.14, 0.5; 3.14; 0.5; 0.5, 3.14 (modified)
 
-	assert( & lm`first == & m1 );
-	assert( & lm`last  == & m2 );
+	assert( &first( lm ) == & m1 );
+	assert( &last( lm )  == & m2 );
 }
 #if 0
@@ -891,6 +891,6 @@
 	insert_last(fly, f3);
 
-	printMyFreddies(flm`first, flm`last, 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
-	printYourFreddies(fly`first, fly`last, 1);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
+	printMyFreddies(first( flm ), last( flm ), 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
+	printYourFreddies(first( fly ), last( fly ), 1);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
 
 	verify(validate(fly));
@@ -902,6 +902,6 @@
 	verify(validate(flm));
 
-	printMyFreddies(flm`first, flm`last, 0);     // 2.7, 3.7;       2.7;  3.7;  3.7, 2.7      (modified)
-	printYourFreddies(fly`first, fly`last, 0);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 (unmodified)
+	printMyFreddies(first( flm ), last( flm ), 0);     // 2.7, 3.7;       2.7;  3.7;  3.7, 2.7      (modified)
+	printYourFreddies(first( fly ), last( fly ), 0);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 (unmodified)
 
 	// observe f1 is now solo in mine; in yours, it was just traversed
@@ -930,6 +930,6 @@
 	insert_last(fly, f3);
 
-	printMyFreddies(flm`first, flm`last, 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
-	printYourFreddies(fly`first, fly`last, 1);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
+	printMyFreddies(first( flm ), last( flm ), 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
+	printYourFreddies(first( fly ), last( fly ), 1);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
 
 	verify(validate(fly));
@@ -941,6 +941,6 @@
 	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)
-	printYourFreddies(fly`first, fly`last, 0);   // 2.7, 3.7;       2.7;  3.7;  3.7, 2.7      (modified)
+	printMyFreddies(first( flm ), last( flm ), 0);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 (unmodified)
+	printYourFreddies(first( fly ), last( fly ), 0);   // 2.7, 3.7;       2.7;  3.7;  3.7, 2.7      (modified)
 
 	// observe f1 is now solo in yours; in mine, it was just traversed
@@ -963,5 +963,5 @@
 	insert_last(ml, m3);
 
-	printMariatheotokos(ml`first, ml`last, 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
+	printMariatheotokos(first( ml ), last( ml ), 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
 
 	verify(validate(ml));
@@ -971,5 +971,5 @@
 	verify(validate(ml));
 
-	printMariatheotokos(ml`first, ml`last, 0);     // 2.7, 3.7;       2.7;  3.7;  3.7, 2.7      (modified)
+	printMariatheotokos(first( ml ), last( ml ), 0);     // 2.7, 3.7;       2.7;  3.7;  3.7, 2.7      (modified)
 
 	// observe m1 is now solo
@@ -1007,6 +1007,6 @@
 	insert_last(fly, f3);
 
-	printMyFreddies(flm`first, flm`last, 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
-	printYourFreddies(fly`first, fly`last, 1);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
+	printMyFreddies(first( flm ), last( flm ), 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
+	printYourFreddies(first( fly ), last( fly ), 1);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
 
 	verify(validate(fly));
@@ -1018,6 +1018,6 @@
 	verify(validate(flm));
 
-	printMyFreddies(flm`first, flm`last, 0);     // 1.7, 2.7;       1.7;  2.7;  2.7, 1.7      (modified)
-	printYourFreddies(fly`first, fly`last, 0);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 (unmodified)
+	printMyFreddies(first( flm ), last( flm ), 0);     // 1.7, 2.7;       1.7;  2.7;  2.7, 1.7      (modified)
+	printYourFreddies(first( fly ), last( fly ), 0);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 (unmodified)
 
 	// observe f3 is now solo in mine; in yours, it was just traversed
@@ -1045,6 +1045,6 @@
 	insert_last(fly, f3);
 
-	printMyFreddies(flm`first, flm`last, 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
-	printYourFreddies(fly`first, fly`last, 1);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
+	printMyFreddies(first( flm ), last( flm ), 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
+	printYourFreddies(first( fly ), last( fly ), 1);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
 
 	verify(validate(fly));
@@ -1056,6 +1056,6 @@
 	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)
-	printYourFreddies(fly`first, fly`last, 0);   // 1.7, 2.7;       1.7;  2.7;  2.7, 1.7      (modified)
+	printMyFreddies(first( flm ), last( flm ), 0);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 (unmodified)
+	printYourFreddies(first( fly ), last( fly ), 0);   // 1.7, 2.7;       1.7;  2.7;  2.7, 1.7      (modified)
 
 	// observe f3 is now solo in yours; in mine, it was just traversed
@@ -1078,5 +1078,5 @@
 	insert_last(ml, m3);
 
-	printMariatheotokos(ml`first, ml`last, 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
+	printMariatheotokos(first( ml ), last( ml ), 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
 
 	verify(validate(ml));
@@ -1086,5 +1086,5 @@
 	verify(validate(ml));
 
-	printMariatheotokos(ml`first, ml`last, 0);     // 1.7, 2.7;       1.7;  2.7;  2.7, 1.7      (modified)
+	printMariatheotokos(first( ml ), last( ml ), 0);     // 1.7, 2.7;       1.7;  2.7;  2.7, 1.7      (modified)
 
 	// observe m3 is now solo
@@ -1116,6 +1116,6 @@
 	insert_last(fly, f);
 
-	printMyFreddies(flm`first, flm`last, 1);     // 0.7; 0.7; 0.7; 0.7
-	printYourFreddies(fly`first, fly`last, 1);   // 0.7; 0.7; 0.7; 0.7
+	printMyFreddies(first( flm ), last( flm ), 1);     // 0.7; 0.7; 0.7; 0.7
+	printYourFreddies(first( fly ), last( fly ), 1);   // 0.7; 0.7; 0.7; 0.7
 
 	verify(validate(fly));
@@ -1127,8 +1127,8 @@
 	verify(validate(flm));
 
-	assert( & flm`first == 0p );
-	assert( & flm`last == 0p );
-
-	printYourFreddies(fly`first, fly`last, 0);   // 0.7; 0.7; 0.7; 0.7 (unmodified)
+	assert( &first( flm ) == 0p );
+	assert( &last( flm ) == 0p );
+
+	printYourFreddies(first( fly ), last( fly ), 0);   // 0.7; 0.7; 0.7; 0.7 (unmodified)
 
 	// observe f is solo in mine (now unlisted); in yours, it was just traversed
@@ -1142,5 +1142,5 @@
 	verify(validate(fly));
 	verify(validate(flm));
-	printMyFreddies(flm`first, flm`last, 0);     // 0.7; 0.7; 0.7; 0.7
+	printMyFreddies(first( flm ), last( flm ), 0);     // 0.7; 0.7; 0.7; 0.7
 }
 
@@ -1155,6 +1155,6 @@
 	insert_last(fly, f);
 
-	printMyFreddies(flm`first, flm`last, 1);     // 0.7; 0.7; 0.7; 0.7
-	printYourFreddies(fly`first, fly`last, 1);   // 0.7; 0.7; 0.7; 0.7
+	printMyFreddies(first( flm ), last( flm ), 1);     // 0.7; 0.7; 0.7; 0.7
+	printYourFreddies(first( fly ), last( fly ), 1);   // 0.7; 0.7; 0.7; 0.7
 
 	verify(validate(fly));
@@ -1166,8 +1166,8 @@
 	verify(validate(flm));
 
-	assert( & fly`first == 0p );
-	assert( & fly`last == 0p );
-
-	printYourFreddies(flm`first, flm`last, 0);   // 0.7; 0.7; 0.7; 0.7 (unmodified)
+	assert( &first( fly ) == 0p );
+	assert( &last( fly ) == 0p );
+
+	printYourFreddies(first( flm ), last( flm ), 0);   // 0.7; 0.7; 0.7; 0.7 (unmodified)
 
 	// observe f is solo in yours (now unlisted); in mine, it was just traversed
@@ -1181,5 +1181,5 @@
 	verify(validate(fly));
 	verify(validate(flm));
-	printYourFreddies(fly`first, fly`last, 0);     // 0.7; 0.7; 0.7; 0.7
+	printYourFreddies(first( fly ), last( fly ), 0);     // 0.7; 0.7; 0.7; 0.7
 }
 
@@ -1191,5 +1191,5 @@
 	insert_last(ml, m);
 
-	printMariatheotokos(ml`first, ml`last, 1);     // 0.7; 0.7; 0.7; 0.7
+	printMariatheotokos(first( ml ), last( ml ), 1);     // 0.7; 0.7; 0.7; 0.7
 
 	verify(validate(ml));
@@ -1199,6 +1199,6 @@
 	verify(validate(ml));
 
-	assert( & ml`first == 0p );
-	assert( & ml`last == 0p );
+	assert( &first( ml ) == 0p );
+	assert( &last( ml ) == 0p );
 
 	// observe f is solo in mine (now unlisted); in yours, it was just traversed
@@ -1211,5 +1211,5 @@
 	insert_last(ml, m);
 	verify(validate(ml));
-	printMariatheotokos(ml`first, ml`last, 0);     // 0.7; 0.7; 0.7; 0.7
+	printMariatheotokos(first( ml ), last( ml ), 0);     // 0.7; 0.7; 0.7; 0.7
 }
 
@@ -1242,17 +1242,17 @@
 	insert_last(fly, f3);
 
-	printMyFreddies(flm`first, flm`last, 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
-	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));
-
-	fred & popped = try_pop_front(flm);
-
-	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)
-	printYourFreddies(fly`first, fly`last, 0);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 (unmodified)
+	printMyFreddies(first( flm ), last( flm ), 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
+	printYourFreddies(first( fly ), last( fly ), 1);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
+
+	verify(validate(fly));
+	verify(validate(flm));
+
+	fred & popped = remove_first(flm);
+
+	verify(validate(fly));
+	verify(validate(flm));
+
+	printMyFreddies(first( flm ), last( flm ), 0);     // 2.7, 3.7;       2.7;  3.7;  3.7, 2.7      (modified)
+	printYourFreddies(first( fly ), last( fly ), 0);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 (unmodified)
 
 	// observe f1 is now solo in mine; in yours, it was just traversed
@@ -1278,17 +1278,17 @@
 	insert_last(fly, f3);
 
-	printMyFreddies(flm`first, flm`last, 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
-	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));
-
-	fred & popped = try_pop_front(fly);
-
-	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)
-	printYourFreddies(fly`first, fly`last, 0);   // 2.7, 3.7;       2.7;  3.7;  3.7, 2.7      (modified)
+	printMyFreddies(first( flm ), last( flm ), 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
+	printYourFreddies(first( fly ), last( fly ), 1);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
+
+	verify(validate(fly));
+	verify(validate(flm));
+
+	fred & popped = remove_first(fly);
+
+	verify(validate(fly));
+	verify(validate(flm));
+
+	printMyFreddies(first( flm ), last( flm ), 0);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 (unmodified)
+	printYourFreddies(first( fly ), last( fly ), 0);   // 2.7, 3.7;       2.7;  3.7;  3.7, 2.7      (modified)
 
 	// observe f1 is now solo in yours; in mine, it was just traversed
@@ -1309,13 +1309,13 @@
 	insert_last(ml, m3);
 
-	printMariatheotokos(ml`first, ml`last, 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
+	printMariatheotokos(first( ml ), last( ml ), 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
 
 	verify(validate(ml));
 
-	mary & popped = try_pop_front(ml);
+	mary & popped = remove_first(ml);
 
 	verify(validate(ml));
 
-	printMariatheotokos(ml`first, ml`last, 0);     // 2.7, 3.7;       2.7;  3.7;  3.7, 2.7      (modified)
+	printMariatheotokos(first( ml ), last( ml ), 0);     // 2.7, 3.7;       2.7;  3.7;  3.7, 2.7      (modified)
 
 	// observe m1 is now solo
@@ -1341,17 +1341,17 @@
 	insert_last(fly, f3);
 
-	printMyFreddies(flm`first, flm`last, 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
-	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));
-
-	fred & popped = try_pop_back(flm);
-
-	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)
-	printYourFreddies(fly`first, fly`last, 0);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 (unmodified)
+	printMyFreddies(first( flm ), last( flm ), 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
+	printYourFreddies(first( fly ), last( fly ), 1);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
+
+	verify(validate(fly));
+	verify(validate(flm));
+
+	fred & popped = remove_last(flm);
+
+	verify(validate(fly));
+	verify(validate(flm));
+
+	printMyFreddies(first( flm ), last( flm ), 0);     // 1.7, 2.7;       1.7;  2.7;  2.7, 1.7      (modified)
+	printYourFreddies(first( fly ), last( fly ), 0);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 (unmodified)
 
 	// observe f3 is now solo in mine; in yours, it was just traversed
@@ -1377,17 +1377,17 @@
 	insert_last(fly, f3);
 
-	printMyFreddies(flm`first, flm`last, 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
-	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));
-
-	fred & popped = try_pop_back(fly);
-
-	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)
-	printYourFreddies(fly`first, fly`last, 0);   // 1.7, 2.7;       1.7;  2.7;  2.7, 1.7      (modified)
+	printMyFreddies(first( flm ), last( flm ), 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
+	printYourFreddies(first( fly ), last( fly ), 1);   // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
+
+	verify(validate(fly));
+	verify(validate(flm));
+
+	fred & popped = remove_last(fly);
+
+	verify(validate(fly));
+	verify(validate(flm));
+
+	printMyFreddies(first( flm ), last( flm ), 0);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 (unmodified)
+	printYourFreddies(first( fly ), last( fly ), 0);   // 1.7, 2.7;       1.7;  2.7;  2.7, 1.7      (modified)
 
 	// observe f3 is now solo in yours; in mine, it was just traversed
@@ -1408,13 +1408,13 @@
 	insert_last(ml, m3);
 
-	printMariatheotokos(ml`first, ml`last, 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
+	printMariatheotokos(first( ml ), last( ml ), 1);     // 1.7, 2.7, 3.7;  1.7;  3.7;  3.7, 2.7, 1.7 
 
 	verify(validate(ml));
 
-	mary & popped = try_pop_back(ml);
+	mary & popped = remove_last(ml);
 
 	verify(validate(ml));
 
-	printMariatheotokos(ml`first, ml`last, 0);     // 1.7, 1.7;       1.7;  2.7;  2.7, 1.7      (modified)
+	printMariatheotokos(first( ml ), last( ml ), 0);     // 1.7, 1.7;       1.7;  2.7;  2.7, 1.7      (modified)
 
 	// observe m1 is now solo
@@ -1428,6 +1428,6 @@
 // Section 4g
 //
-// Test cases of `isEmpty, `hasPrev, `hasNext,
-// try_pop_front, try_pop_back, modifications via `elems
+// Test cases of isEmpty, isFirst, isLast,
+// remove_first, remove_last, modifications via iter
 //
 // Example of call-side user code
@@ -1441,30 +1441,30 @@
 	mary m3 = {3.7};
 
-	dlist(mary) ml;			assert( ml`isEmpty);
-
-	insert_last(ml, m1);	assert(!ml`isEmpty);
-	insert_last(ml, m2);	assert(!ml`isEmpty);
-	insert_last(ml, m3);	assert(!ml`isEmpty);
-
-	mary & m1prev = m1`prev;
-	mary & m1next = m1`next;
-	mary & m2prev = m2`prev;
-	mary & m2next = m2`next;
-	mary & m3prev = m3`prev;
-	mary & m3next = m3`next;
-
-	assert (&m1prev == 0p);
-	assert (&m1next == &m2);
-	assert (&m2prev == &m1);
-	assert (&m2next == &m3);
-	assert (&m3prev == &m2);
-	assert (&m3next == 0p);
-
-	assert(!m1`hasPrev);
-	assert( m1`hasNext);
-	assert( m2`hasPrev);
-	assert( m2`hasNext);
-	assert( m3`hasPrev);
-	assert(!m3`hasNext);
+	dlist(mary) ml;			assert( isEmpty( ml ));
+
+	insert_last(ml, m1);	assert(!isEmpty( ml ));
+	insert_last(ml, m2);	assert(!isEmpty( ml ));
+	insert_last(ml, m3);	assert(!isEmpty( ml ));
+
+	mary & m1prev = prev( m1 );
+	mary & m1next = next( m1 );
+	mary & m2prev = prev( m2 );
+	mary & m2next = next( m2 );
+	mary & m3prev = prev( m3 );
+	mary & m3next = next( m3 );
+
+	assert( &m1prev == 0p );
+	assert( &m1next == &m2 );
+	assert( &m2prev == &m1 );
+	assert( &m2next == &m3 );
+	assert( &m3prev == &m2 );
+	assert( &m3next == 0p );
+
+	assert( ! isFirst( m1 ) );
+	assert( isLast( m1 ) );
+	assert( isFirst( m2 ) );
+	assert( isLast( m2 ) );
+	assert( isFirst( m3 ) );
+	assert( ! isLast( m3 ) );
 
 	printf("accessor_cases done\n");
@@ -1486,5 +1486,5 @@
 	// queue, back to front
 
-	assert( ml`isEmpty);
+	assert( isEmpty( ml ));
 
 	insert_last(ml, m1);
@@ -1492,8 +1492,8 @@
 	insert_last(ml, m3);
 
-	&m1r = & try_pop_front(ml);	assert(!ml`isEmpty);
-	&m2r = & try_pop_front(ml);	assert(!ml`isEmpty);
-	&m3r = & try_pop_front(ml);	assert( ml`isEmpty);
-	&mxr = & try_pop_front(ml);	assert( ml`isEmpty);
+	&m1r = & remove_first(ml);	assert(!isEmpty( ml ));
+	&m2r = & remove_first(ml);	assert(!isEmpty( ml ));
+	&m3r = & remove_first(ml);	assert( isEmpty( ml ));
+	&mxr = & remove_first(ml);	assert( isEmpty( ml ));
 
 	assert( &m1r == &m1 );
@@ -1508,5 +1508,5 @@
 	// queue, front to back
 
-	assert( ml`isEmpty);
+	assert( isEmpty( ml ));
 
 	insert_first(ml, m1);
@@ -1514,8 +1514,8 @@
 	insert_first(ml, m3);
 
-	&m1r = & try_pop_back(ml);	assert(!ml`isEmpty);
-	&m2r = & try_pop_back(ml);	assert(!ml`isEmpty);
-	&m3r = & try_pop_back(ml);	assert( ml`isEmpty);
-	&mxr = & try_pop_back(ml);	assert( ml`isEmpty);
+	&m1r = & remove_last(ml);	assert(!isEmpty( ml ));
+	&m2r = & remove_last(ml);	assert(!isEmpty( ml ));
+	&m3r = & remove_last(ml);	assert( isEmpty( ml ));
+	&mxr = & remove_last(ml);	assert( isEmpty( ml ));
 
 	assert( &m1r == &m1 );
@@ -1530,5 +1530,5 @@
 	// stack at front
 
-	assert( ml`isEmpty);
+	assert( isEmpty( ml ));
 
 	insert_first(ml, m1);
@@ -1536,8 +1536,8 @@
 	insert_first(ml, m3);
 
-	&m3r = & try_pop_front(ml);	assert(!ml`isEmpty);
-	&m2r = & try_pop_front(ml);	assert(!ml`isEmpty);
-	&m1r = & try_pop_front(ml);	assert( ml`isEmpty);
-	&mxr = & try_pop_front(ml);	assert( ml`isEmpty);
+	&m3r = & remove_first(ml);	assert(!isEmpty( ml ));
+	&m2r = & remove_first(ml);	assert(!isEmpty( ml ));
+	&m1r = & remove_first(ml);	assert( isEmpty( ml ));
+	&mxr = & remove_first(ml);	assert( isEmpty( ml ));
 
 	assert( &m1r == &m1 );
@@ -1552,5 +1552,5 @@
 	// stack at back
 
-	assert( ml`isEmpty);
+	assert( isEmpty( ml ));
 
 	insert_last(ml, m1);
@@ -1558,8 +1558,8 @@
 	insert_last(ml, m3);
 
-	&m3r = & try_pop_back(ml);	assert(!ml`isEmpty);
-	&m2r = & try_pop_back(ml);	assert(!ml`isEmpty);
-	&m1r = & try_pop_back(ml);	assert( ml`isEmpty);
-	&mxr = & try_pop_back(ml);	assert( ml`isEmpty);
+	&m3r = & remove_last(ml);	assert(!isEmpty( ml ));
+	&m2r = & remove_last(ml);	assert(!isEmpty( ml ));
+	&m1r = & remove_last(ml);	assert( isEmpty( ml ));
+	&mxr = & remove_last(ml);	assert( isEmpty( ml ));
 
 	assert( &m1r == &m1 );
@@ -1580,13 +1580,13 @@
 
 	dlist(mary) ml;
-	mary & mlorigin = ml`elems;
+	mary & mlorigin = iter( ml );
 
 	// insert before the origin
 
-	insert_before( ml`elems, m1 );
-	assert( ! ml`isEmpty );
-
-	mary & mlfirst = ml`first;
-	mary & mllast = ml`last;
+	insert_before( iter( ml ), m1 );
+	assert( ! isEmpty( ml ) );
+
+	mary & mlfirst = first( ml );
+	mary & mllast = last( ml );
 
 	assert( &m1 == & mlfirst );
@@ -1595,6 +1595,6 @@
 	// moveNext after last goes back to origin, &vv
 
-	bool canMoveNext = mllast`moveNext;
-	bool canMovePrev = mlfirst`movePrev;
+	bool canMoveNext = advance( mllast );
+	bool canMovePrev = recede( mlfirst );
 
 	assert( ! canMoveNext );
@@ -1609,17 +1609,17 @@
 void test__isListed_cases__mary() {
 
-	mary m1 = {1.7};        assert(! m1`isListed);
-	mary m2 = {2.7};        assert(! m2`isListed);
-	mary m3 = {3.7};        assert(! m3`isListed);
+	mary m1 = {1.7};        assert( ! isListed( m1 ) );
+	mary m2 = {2.7};        assert( ! isListed( m2 ) );
+	mary m3 = {3.7};        assert( ! isListed( m3 ) );
 
 	dlist(mary) ml;
 
-	insert_last(ml, m1);	assert(  m1`isListed);  assert(! m2`isListed);
-	insert_last(ml, m2);	assert(  m2`isListed);  assert(! m3`isListed);
-	insert_last(ml, m3);	assert(  m3`isListed);
-
-	remove( m1 );           assert(! m1`isListed);  assert(  m2`isListed);
-	remove( m2 );           assert(! m2`isListed);  assert(  m3`isListed);
-	remove( m3 );           assert(! m3`isListed);
+	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");
Index: tests/zombies/hashtable.cfa
===================================================================
--- tests/zombies/hashtable.cfa	(revision 10ef4753267823d6dcec6e823051514c6b11208b)
+++ tests/zombies/hashtable.cfa	(revision 6b33e891da6ed781bdcec69c5dfdd3cb8a9d0e44)
@@ -71,5 +71,5 @@
         dlist(tN, tE) & bucket = buckets[ bucket_of(this, k) ];
 
-        for ( tN * item = & $tempcv_e2n(bucket`first);  item != 0p;  item = & $tempcv_e2n((*item)`next) ) {
+        for ( tN * item = & $tempcv_e2n(first( bucket ));  item != 0p;  item = & $tempcv_e2n((*item)`next) ) {
             if ( key(*item) == k ) {
                 return *item;
@@ -94,5 +94,5 @@
         dlist(tN, tE) & bucket = buckets[ bucket_of(this, k) ];
 
-        for ( tN * item = & $tempcv_e2n(bucket`first);  item != 0p;  item = & $tempcv_e2n((*item)`next) ) {
+        for ( tN * item = & $tempcv_e2n(first( bucket ));  item != 0p;  item = & $tempcv_e2n((*item)`next) ) {
             if ( key(*item) == k ) {
                 remove(*item);
Index: tests/zombies/hashtable2.cfa
===================================================================
--- tests/zombies/hashtable2.cfa	(revision 10ef4753267823d6dcec6e823051514c6b11208b)
+++ tests/zombies/hashtable2.cfa	(revision 6b33e891da6ed781bdcec69c5dfdd3cb8a9d0e44)
@@ -149,5 +149,5 @@
         dlist(request_in_ht_by_src, request) & bucket = buckets[ bucket_of(this, k) ];
 
-        for ( request_in_ht_by_src * item = & $tempcv_e2n(bucket`first);  item != 0p;  item = & $tempcv_e2n((*item)`next) ) {
+        for ( request_in_ht_by_src * item = & $tempcv_e2n(first( bucket ));  item != 0p;  item = & $tempcv_e2n((*item)`next) ) {
             if ( key(*item) == k ) {
                 return *item;
@@ -177,5 +177,5 @@
         dlist(request_in_ht_by_src, request) & bucket = buckets[ bucket_of(this, k) ];
 
-        for ( request_in_ht_by_src * item = & $tempcv_e2n(bucket`first);  item != 0p;  item = & $tempcv_e2n((*item)`next) ) {
+        for ( request_in_ht_by_src * item = & $tempcv_e2n(first( bucket ));  item != 0p;  item = & $tempcv_e2n((*item)`next) ) {
             if ( key(*item) == k ) {
                 remove(*item);
@@ -257,5 +257,5 @@
 
     // will re-implement as an actual splice
-    while ( & src_to_empty`first != 0p ) {
+    while ( & src_to_first( empty ) != 0p ) {
         insert_last( snk_to_fill_at_last, pop_first( src_to_empty ) );
     }
@@ -319,5 +319,5 @@
 
         // fill new table with old items
-        while ( & items`first != 0p ) {
+        while ( &first( items ) != 0p ) {
             put( this, pop_first( items ) );
         }
Index: tests/zombies/linked-list-perf/experiment.koad
===================================================================
--- tests/zombies/linked-list-perf/experiment.koad	(revision 10ef4753267823d6dcec6e823051514c6b11208b)
+++ tests/zombies/linked-list-perf/experiment.koad	(revision 6b33e891da6ed781bdcec69c5dfdd3cb8a9d0e44)
@@ -144,5 +144,5 @@
         for ( volatile unsigned int t = 0; t < Times; t += 1 ) {
                 Repeat( insert_last( lst, s[i] ) );
-                Repeat( remove( lst`first ) );
+                Repeat( remove( first( lst ) ) );
         }
         end = clock();
@@ -168,5 +168,5 @@
         for ( volatile unsigned int t = 0; t < Times; t += 1 ) {
                 Repeat( insert_last( lst, s[i] ) );
-                Repeat( remove( lst`first ) );
+                Repeat( remove( first( lst ) ) );
         }
         end = clock();
Index: tests/zombies/linked-list-perf/mike-old.hfa
===================================================================
--- tests/zombies/linked-list-perf/mike-old.hfa	(revision 10ef4753267823d6dcec6e823051514c6b11208b)
+++ tests/zombies/linked-list-perf/mike-old.hfa	(revision 6b33e891da6ed781bdcec69c5dfdd3cb8a9d0e44)
@@ -9,7 +9,7 @@
 // Author           : Michael Brooks
 // Created On       : Wed Apr 22 18:00:00 2020
-// Last Modified By : Michael Brooks
-// Last Modified On : Wed Apr 22 18:00:00 2020
-// Update Count     : 1
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Mon Apr 21 17:32:37 2025
+// Update Count     : 3
 //
 
@@ -147,5 +147,5 @@
 	}
 
-	static inline Telem & ?`first( dlist(Tnode, Telem) &l ) {
+	static inline Telem & first( dlist(Tnode, Telem) &l ) {
 		return * l.$links.next.elem;
 	}
@@ -157,5 +157,5 @@
 	#if !defined(NDEBUG) && (defined(__CFA_DEBUG__) || defined(__CFA_VERIFY__))
 	static bool $validate_fwd( dlist(Tnode, Telem) & this ) {
-		Tnode * it = & $tempcv_e2n( this`first );
+		Tnode * it = & $tempcv_e2n( first( this ) );
 		if (!it) return (& this`last == 0p);
 
@@ -170,5 +170,5 @@
 	static bool $validate_rev( dlist(Tnode, Telem) & this ) {
 		Tnode * it = & $tempcv_e2n( this`last );
-		if (!it) return (& this`first == 0p);
+		if (!it) return (& first( this ) == 0p);
 
 		while( $prev_link(*it).elem ) {
@@ -176,5 +176,5 @@
 		}
 
-		return ( it == & $tempcv_e2n( this`first ) ) &&
+		return ( it == & $tempcv_e2n( first( this ) ) ) &&
 			   ( $prev_link(*it).is_terminator ) &&
 			   ( ((dlist(Tnode, Telem)*)$prev_link(*it).terminator) == &this );
