Index: doc/papers/general/evaluation/cfa-bench.c
===================================================================
--- doc/papers/general/evaluation/cfa-bench.c	(revision 6dba9f99298d009feb56392f7ccd516f29ca2e4f)
+++ doc/papers/general/evaluation/cfa-bench.c	(revision f1f8e5513df61d28045c7d44a62cb985ac629a04)
@@ -8,16 +8,16 @@
 
 	REPEAT_TIMED( "push_int", N, push( si, val ); )
-	TIMED( "copy_int", ti = si; )
+	TIMED( "copy_int", ti{ si }; )
 	TIMED( "clear_int", clear( si ); )
 	REPEAT_TIMED( "pop_int", N, 
 		int x = pop( ti ); if ( x > max ) max = x; )
 
-	pair( _Bool, char ) max = { (_Bool)0 /***/, '\0' }, val = { (_Bool)1 /***/, 'a' };
-	stack( pair( _Bool, char ) ) sp, tp;
+	pair( short, char ) max = { 0h, '\0' }, val = { 42h, 'a' };
+	stack( pair( short, char ) ) sp, tp;
 
 	REPEAT_TIMED( "push_pair", N, push( sp, val ); )
-	TIMED( "copy_pair", tp = sp; )
+	TIMED( "copy_pair", tp{ sp }; )
 	TIMED( "clear_pair", clear( sp ); )
 	REPEAT_TIMED( "pop_pair", N,
-		pair(_Bool, char) x = pop( tp ); if ( x > max ) max = x; )
+		pair(short, char) x = pop( tp ); if ( x > max ) max = x; )
 }
Index: doc/papers/general/evaluation/cfa-stack.c
===================================================================
--- doc/papers/general/evaluation/cfa-stack.c	(revision 6dba9f99298d009feb56392f7ccd516f29ca2e4f)
+++ doc/papers/general/evaluation/cfa-stack.c	(revision f1f8e5513df61d28045c7d44a62cb985ac629a04)
@@ -12,7 +12,6 @@
 	stack_node(T) ** crnt = &s.head;
 	for ( stack_node(T) * next = t.head; next; next = next->next ) {
-		stack_node(T)* new_node = (stack_node(T)*)malloc(); /***/
-		(*new_node){ next->value };
-		*crnt = new_node;
+		*crnt = malloc();
+		((*crnt)->value){ next->value };
 		crnt = &(*crnt)->next;
 	}
@@ -31,13 +30,13 @@
 forall(otype T) _Bool empty( const stack(T) & s ) { return s.head == 0; }
 
-forall(otype T) void push( stack(T) & s, T value ) {
-	stack_node(T)* new_node = (stack_node(T)*)malloc(); /***/
-	(*new_node){ value, s.head };
-	s.head = new_node;
+forall(otype T) void push( stack(T) & s, T value ) with( s ) {
+	stack_node(T)* new_node = malloc();
+	(*new_node){ value, head };
+	head = new_node;
 }
 
-forall(otype T) T pop( stack(T) & s ) {
-	stack_node(T) * n = s.head;
-	s.head = n->next;
+forall(otype T) T pop( stack(T) & s ) with( s ) {
+	stack_node(T) * n = head;
+	head = n->next;
 	T v = n->value;
 	^(*n){};
@@ -46,6 +45,6 @@
 }
 
-forall(otype T) void clear( stack(T) & s ) {
-	for ( stack_node(T) * next = s.head; next; ) {
+forall(otype T) void clear( stack(T) & s ) with( s ) {
+	for ( stack_node(T) * next = head; next; ) {
 		stack_node(T) * crnt = next;
 		next = crnt->next;
