Index: tests/array-container/array-basic.cfa
===================================================================
--- tests/array-container/array-basic.cfa	(revision 63a4b92a1b215265addfc287907ae92a2316f258)
+++ tests/array-container/array-basic.cfa	(revision d3ba775d8ac5416c9c4015ef24dca70b09023946)
@@ -5,5 +5,5 @@
 //
 
-forall( ztype(Nx), ztype(Ny), ztype(Nz) )
+forall( [Nx], [Ny], [Nz] )
 void typesTest( tag(Nx), tag(Ny), tag(Nz) ) {
 
@@ -59,5 +59,5 @@
 }
 
-forall( ztype(Nw), ztype(Nx), ztype(Ny), ztype(Nz) )
+forall( [Nw], [Nx], [Ny], [Nz] )
 void fillHelloData( array( float, Nw, Nx, Ny, Nz ) & wxyz ) {
     for (w; z(Nw))
@@ -68,5 +68,5 @@
 }
 
-forall( ztype(Zn)
+forall( [Zn]
       , S & | sized(S)
       )
@@ -86,5 +86,5 @@
 }
 
-forall( ztype(Nw), ztype(Nx), ztype(Ny), ztype(Nz) )
+forall( [Nw], [Nx], [Ny], [Nz] )
 void runtimeTest( tag(Nw), tag(Nx), tag(Ny), tag(Nz) ) {
 
Index: tests/array-container/array-md-sbscr-cases.cfa
===================================================================
--- tests/array-container/array-md-sbscr-cases.cfa	(revision 63a4b92a1b215265addfc287907ae92a2316f258)
+++ tests/array-container/array-md-sbscr-cases.cfa	(revision d3ba775d8ac5416c9c4015ef24dca70b09023946)
@@ -18,5 +18,5 @@
 }
 
-forall( ztype(Nw), ztype(Nx), ztype(Ny), ztype(Nz) )
+forall( [Nw], [Nx], [Ny], [Nz] )
 void fillHelloData( array( float, Nw, Nx, Ny, Nz ) & wxyz ) {
     for (w; z(Nw))
@@ -27,24 +27,6 @@
 }
 
-forall( ztype(Zn)
-      , S & | sized(S)
-      )
-float total1d_low( arpk(Zn, S, float, float ) & a ) {
-    float total = 0.0f;
-    for (i; z(Zn))
-        total += a[i];
-    return total;
-}
-
-forall( A & | ar(A, float) )
-float total1d_hi( A & a ) {
-    float total = 0.0f;
-    for (i; a`len)
-        total += a[i];
-    return total;
-}
-
 // Tests all the ways to split dimensions into CFA-supported chunks, by the only order that C supports: coarsest to finest stride.
-forall( ztype(Nw), ztype(Nx), ztype(Ny), ztype(Nz) )
+forall( [Nw], [Nx], [Ny], [Nz] )
 void test_inOrderSplits( tag(Nw), tag(Nx), tag(Ny), tag(Nz) ) {
 
@@ -96,5 +78,5 @@
 
 // All orders that skip a single dimension, each in its most natural split.
-forall( ztype(Nw), ztype(Nx), ztype(Ny), ztype(Nz) )
+forall( [Nw], [Nx], [Ny], [Nz] )
 void test_skipSingle( tag(Nw), tag(Nx), tag(Ny), tag(Nz) ) {
 
@@ -137,5 +119,5 @@
 // Natural split means the arity of every -[[-,...]] tuple equals the dimensionality of its "this" operand, then that the fewest "all" subscripts are given.
 // The commented-out test code shows cases that don't work.  We wish all the comment-coverd cases worked.
-forall( ztype(Nw), ztype(Nx), ztype(Ny), ztype(Nz) )
+forall( [Nw], [Nx], [Ny], [Nz] )
 void test_latticeCoverage( tag(Nw), tag(Nx), tag(Ny), tag(Nz) ) {
 
@@ -235,5 +217,5 @@
 }
 
-forall( ztype(Nw), ztype(Nx), ztype(Ny), ztype(Nz) )
+forall( [Nw], [Nx], [Ny], [Nz] )
 void test_numSubscrTypeCompatibility( tag(Nw), tag(Nx), tag(Ny), tag(Nz) ) {
 
@@ -282,4 +264,5 @@
     test_skipSingle     ( ztag(KW), ztag(KX), ztag(KY), ztag(KZ) );
     test_latticeCoverage( ztag(KW), ztag(KX), ztag(KY), ztag(KZ) );
+    test_numSubscrTypeCompatibility( ztag(KW), ztag(KX), ztag(KY), ztag(KZ) );
     printf("done\n");
 }
