Index: src/Tests/ResolvExpr/Abstype.c
===================================================================
--- src/Tests/ResolvExpr/Abstype.c	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/ResolvExpr/Abstype.c	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,4 +1,2 @@
-// "cfa-cpp -nx Abstype.c"
-
 type T | { T x( T ); };
 
@@ -9,5 +7,5 @@
 
 forall( type T ) lvalue T *?( T * );
-int ?++( int *);
+int ?++( int * );
 int ?=?( int *, int );
 forall( dtype DT ) DT * ?=?( DT **, DT * );
Index: src/Tests/ResolvExpr/make-rules
===================================================================
--- src/Tests/ResolvExpr/make-rules	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/ResolvExpr/make-rules	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,21 +1,20 @@
 CFA = ../../cfa-cpp
 
-DIFF = /software/gnu/bin/diff
+EXPECTED := ${wildcard ${EXPECTDIR}/*.tst}
+TESTS := ${EXPECTED:${EXPECTDIR}/%=${OUTPUTDIR}/%}
+TEST_IN := ${TESTS:.tst=.c}
 
-# Basic SynTree printing
-EXPECTED := ${wildcard $(EXPECTDIR)/*.tst}
-TESTS := $(EXPECTED:$(EXPECTDIR)/%=$(OUTPUTDIR)/%)
-TEST_IN := $(TESTS:.tst=.c)
+.SILENT :
 
-$(OUTPUTDIR)/%.tst:%.c $(CFA)
-	-$(CFA) $(CFAOPT) < $< > $@ 2>&1
+${OUTPUTDIR}/%.tst : %.c ${CFA}
+	-${CFA} ${CFAOPT} < $< > $@ 2>&1
 
-$(OUTPUTDIR)/report: $(TESTS) $(EXPECTED)
+${OUTPUTDIR}/report : ${TESTS} ${EXPECTED}
 	rm -f $@
-	@for i in $(TESTS); do \
-	  echo "---"`basename $$i`"---" | tee -a $@; \
-	  $(DIFF) -B -w -u $(EXPECTDIR)/`basename $$i` $$i | tee -a $@; \
+	@for i in ${TESTS}; do \
+	     echo "---"`basename $$i`"---" | tee -a $@; \
+	     diff -B -w ${EXPECTDIR}/`basename $$i` $$i | tee -a $@; \
 	done
 
-clean:
-	rm -rf $(OUTPUTDIR)
+clean :
+	rm -rf ${OUTPUTDIR}
Index: src/Tests/SynTree/Expected-SymTab/Array.tst
===================================================================
--- src/Tests/SynTree/Expected-SymTab/Array.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected-SymTab/Array.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -5,7 +5,4 @@
 Adding object m2
 Adding object m4
-Adding typedef T
---- Entering scope
---- Leaving scope containing
 Adding function fred
 --- Entering scope
@@ -16,8 +13,4 @@
 Adding object T
 --- Leaving scope containing
-T (__T__A0i) (2)
-a1 (__a1__A0i) (2)
-a2 (__a2__A0i) (2)
-a4 (__a4__A0i) (2)
 --- Leaving scope containing
 Adding function mary
@@ -30,8 +23,4 @@
 --- Leaving scope containing
 --- Leaving scope containing
-T (__T__Pi) (1)
-p1 (__p1__CPi) (1)
-p2 (__p2__Pi) (1)
-p3 (__p3__CPi) (1)
 Adding function tom
 --- Entering scope
@@ -48,6 +37,2 @@
 --- Leaving scope containing
 --- Leaving scope containing
-T (__T__Pi) (1)
-p1 (__p1__CPi) (1)
-p2 (__p2__Pi) (1)
-p3 (__p3__CPi) (1)
Index: src/Tests/SynTree/Expected-SymTab/Context.tst
===================================================================
--- src/Tests/SynTree/Expected-SymTab/Context.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected-SymTab/Context.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,52 +1,45 @@
-Adding context has_q
 --- Entering scope
-Adding type T
 --- Entering scope
 --- Leaving scope containing
+Adding type T
 Adding function q
 --- Entering scope
 --- Leaving scope containing
 --- Leaving scope containing
-q (__q__F_2tT_2tT_) (1)
 T
+Adding context has_q
 Adding function f
 --- Entering scope
-Adding type z
 --- Entering scope
 --- Leaving scope containing
-Adding function q
+Adding type z
+Adding function ?=?
 --- Entering scope
 --- Leaving scope containing
 --- Entering scope
-Adding context has_r
 --- Entering scope
+--- Entering scope
+--- Leaving scope containing
 Adding type T
 --- Entering scope
 --- Leaving scope containing
 Adding type U
---- Entering scope
---- Leaving scope containing
 Adding function r
 --- Entering scope
 --- Leaving scope containing
 --- Leaving scope containing
-r (__r__F_2tT_2tTPF_2tT_2tT2tU__) (3)
 T
 U
+Adding context has_r
+--- Entering scope
+--- Leaving scope containing
 Adding type x
 --- Entering scope
 --- Leaving scope containing
 Adding type y
---- Entering scope
 --- Leaving scope containing
-Adding function r
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-r (__r__F_2tx_2txPF_2tx_2tx2ty__) (2)
 x
 y
 has_r
 --- Leaving scope containing
-q (__q__F_2tz_2tz_) (1)
 z
Index: src/Tests/SynTree/Expected-SymTab/Enum.tst
===================================================================
--- src/Tests/SynTree/Expected-SymTab/Enum.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected-SymTab/Enum.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -17,9 +17,4 @@
 Adding object fruit
 --- Leaving scope containing
-Apple (__Apple__C7eFruits) (2)
-Banana (__Banana__C7eFruits) (2)
-Mango (__Mango__C7eFruits) (2)
-Pear (__Pear__C7eFruits) (2)
-fruit (__fruit__7eFruits) (2)
 Fruits
 --- Leaving scope containing
Index: src/Tests/SynTree/Expected-SymTab/Forall.tst
===================================================================
--- src/Tests/SynTree/Expected-SymTab/Forall.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected-SymTab/Forall.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,14 +1,8 @@
-in default case, (shouldn't be here)
-in default case, (shouldn't be here)
-Adding typedef f
+Adding function swap
 --- Entering scope
-Adding type T
 --- Entering scope
 --- Leaving scope containing
---- Leaving scope containing
-T
-Adding function swap
---- Entering scope
 Adding type T
+Adding function ?=?
 --- Entering scope
 --- Leaving scope containing
@@ -18,14 +12,10 @@
 Adding object temp
 --- Leaving scope containing
-temp (__temp__2tT) (2)
 --- Leaving scope containing
-left (__left__2tT) (1)
-right (__right__2tT) (1)
 T
-Adding context sumable
 --- Entering scope
-Adding type T
 --- Entering scope
 --- Leaving scope containing
+Adding type T
 Adding object 0
 Adding function ?+?
@@ -39,12 +29,9 @@
 --- Leaving scope containing
 --- Leaving scope containing
-0 (__0__C2tT) (1)
-?++ (__?++__F_2tT_2tT_) (1)
-?+=? (__?+=?__F_2tT_2tT2tT_) (1)
-?+? (__?+?__F_2tT_2tT2tT_) (1)
 T
-Adding type T1
+Adding context sumable
 --- Entering scope
 --- Leaving scope containing
+Adding type T1
 Adding object 0
 Adding function ?+?
@@ -57,6 +44,27 @@
 --- Entering scope
 --- Leaving scope containing
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+Adding type P1
+--- Entering scope
+--- Leaving scope containing
+Adding type P2
+--- Leaving scope containing
+P1
+P2
 Adding type T2
 --- Entering scope
+--- Leaving scope containing
+Adding type T3
+Adding fwd decl for struct __anonymous0
+--- Entering scope
+Adding object i
+Adding object j
+--- Leaving scope containing
+Adding struct __anonymous0
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
 Adding type P1
 --- Entering scope
@@ -68,67 +76,17 @@
 P1
 P2
-Adding type T3
+Adding type T2
+Adding object w1
+Adding object g2
 --- Entering scope
 --- Leaving scope containing
-Adding object 0
-Adding function ?+?
---- Entering scope
---- Leaving scope containing
-Adding function ?++
---- Entering scope
---- Leaving scope containing
-Adding function ?+=?
---- Entering scope
---- Leaving scope containing
-Adding struct __anonymous0
---- Entering scope
-Adding object i
-Adding object j
---- Leaving scope containing
-i (__i__3tP1) (1)
-j (__j__3tP2) (1)
-Adding type T2
---- Entering scope
-Adding type P1
---- Entering scope
---- Leaving scope containing
-Adding type P2
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-P1
-P2
-Adding object 0
-Adding function ?+?
---- Entering scope
---- Leaving scope containing
-Adding function ?++
---- Entering scope
---- Leaving scope containing
-Adding function ?+=?
---- Entering scope
---- Leaving scope containing
-Adding object w1
-Adding typedef w2
---- Entering scope
---- Leaving scope containing
-Adding object g2
 Adding type w3
---- Entering scope
---- Leaving scope containing
 Adding object g3
 Adding function sum
 --- Entering scope
-Adding type T
 --- Entering scope
 --- Leaving scope containing
-Adding object 0
-Adding function ?+?
---- Entering scope
---- Leaving scope containing
-Adding function ?++
---- Entering scope
---- Leaving scope containing
-Adding function ?+=?
+Adding type T
+Adding function ?=?
 --- Entering scope
 --- Leaving scope containing
@@ -138,18 +96,15 @@
 Adding object total
 Adding object i
+--- Entering scope
 --- Leaving scope containing
-i (__i__i) (2)
-total (__total__2tT) (2)
 --- Leaving scope containing
-0 (__0__2tT) (1)
-?++ (__?++__F_2tT_2tT_) (1)
-?+=? (__?+=?__F_2tT_2tT2tT_) (1)
-?+? (__?+?__F_2tT_2tT2tT_) (1)
-a (__a__P2tT) (1)
-n (__n__i) (1)
+--- Leaving scope containing
 T
 Adding function twice
 --- Entering scope
+--- Entering scope
+--- Leaving scope containing
 Adding type T
+Adding function ?=?
 --- Entering scope
 --- Leaving scope containing
@@ -168,9 +123,4 @@
 --- Leaving scope containing
 --- Leaving scope containing
-0 (__0__C2tT) (1)
-?++ (__?++__F_2tT_2tT_) (1)
-?+=? (__?+=?__F_2tT_2tT2tT_) (1)
-?+? (__?+?__F_2tT_2tT2tT_) (1)
-t (__t__2tT) (1)
 T
 Adding function main
@@ -182,7 +132,3 @@
 Adding object f
 --- Leaving scope containing
-a (__a__A0i) (2)
-f (__f__f) (2)
-x (__x__i) (2)
-y (__y__i) (2)
 --- Leaving scope containing
Index: src/Tests/SynTree/Expected-SymTab/Scope.tst
===================================================================
--- src/Tests/SynTree/Expected-SymTab/Scope.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected-SymTab/Scope.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,28 +1,19 @@
-in default case, (shouldn't be here)
-in default case, (shouldn't be here)
-in default case, (shouldn't be here)
 Adding object x
-Adding typedef y
---- Entering scope
---- Leaving scope containing
-Adding typedef t
---- Entering scope
---- Leaving scope containing
 Adding object z
-Adding struct __anonymous0
+Adding fwd decl for struct __anonymous0
 --- Entering scope
 Adding object a
 Adding object b
 --- Leaving scope containing
-a (__a__i) (1)
-b (__b__d) (1)
-Adding type u
+Adding struct __anonymous0
+--- Entering scope
 --- Entering scope
 --- Leaving scope containing
+--- Leaving scope containing
+Adding type u
 Adding function f
 --- Entering scope
 Adding object y
 --- Leaving scope containing
-y (__y__i) (1)
 Adding object q
 Adding function w
@@ -31,7 +22,7 @@
 Adding object v
 --- Entering scope
-Adding type x
 --- Entering scope
 --- Leaving scope containing
+Adding type x
 Adding function t
 --- Entering scope
@@ -40,29 +31,23 @@
 Adding object z
 --- Leaving scope containing
-t (__t__F_2tx_2tu_) (2)
-u (__u__2tu) (2)
-z (__z__2tx) (2)
 x
 --- Leaving scope containing
-v (__v__2tu) (1)
-y (__y__2ty) (1)
 Adding object p
-Adding context has_u
 --- Entering scope
-Adding type z
 --- Entering scope
 --- Leaving scope containing
+Adding type z
 Adding function u
 --- Entering scope
 --- Leaving scope containing
 --- Leaving scope containing
-u (__u__F_2tz_2tz_) (1)
 z
+Adding context has_u
 Adding function q
 --- Entering scope
-Adding type t
 --- Entering scope
 --- Leaving scope containing
-Adding function u
+Adding type t
+Adding function ?=?
 --- Entering scope
 --- Leaving scope containing
@@ -71,8 +56,5 @@
 Adding object y
 --- Leaving scope containing
-y (__y__2tt) (2)
 --- Leaving scope containing
-the_t (__the_t__2tt) (1)
-u (__u__F_2tt_2tt_) (1)
 t
 Adding function f
@@ -81,44 +63,26 @@
 --- Entering scope
 Adding object y
-Adding typedef x
+--- Entering scope
+Adding object y
+--- Entering scope
+Adding object x
+Adding object z
+--- Leaving scope containing
+Adding object x
+--- Leaving scope containing
+Adding object q
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function g
+--- Entering scope
+--- Entering scope
 --- Entering scope
 --- Leaving scope containing
+Adding object x
 --- Entering scope
 Adding object y
-Adding typedef z
---- Entering scope
---- Leaving scope containing
---- Entering scope
-Adding object x
-Adding typedef y
---- Entering scope
 --- Leaving scope containing
 Adding object z
 --- Leaving scope containing
-x (__x__2tz) (4)
-z (__z__2ty) (4)
-y
-Adding object x
---- Leaving scope containing
-x (__x__2tz) (3)
-y (__y__2tx) (3)
-z
-Adding object q
---- Leaving scope containing
-q (__q__2tx) (2)
-y (__y__i) (2)
-x
---- Leaving scope containing
-p (__p__2ty) (1)
-Adding function g
---- Entering scope
---- Entering scope
-Adding typedef x
---- Entering scope
---- Leaving scope containing
-Adding object z
---- Leaving scope containing
-z (__z__2tx) (2)
-x
 --- Leaving scope containing
 Adding function q
@@ -128,3 +92,2 @@
 --- Leaving scope containing
 --- Leaving scope containing
-i (__i__i) (1)
Index: src/Tests/SynTree/Expected-SymTab/ScopeErrors.tst
===================================================================
--- src/Tests/SynTree/Expected-SymTab/ScopeErrors.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected-SymTab/ScopeErrors.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -8,5 +8,4 @@
 Adding object thisIsNotAnError
 --- Leaving scope containing
-thisIsNotAnError (__thisIsNotAnError__i) (2)
 --- Leaving scope containing
 Adding function thisIsAlsoNotAnError
@@ -16,5 +15,4 @@
 --- Leaving scope containing
 --- Leaving scope containing
-x (__x__d) (1)
 Adding function thisIsStillNotAnError
 --- Entering scope
@@ -29,6 +27,5 @@
 --- Leaving scope containing
 Adding function butThisIsAnError
-Error: duplicate definition for thisIsAnError: a signed int 
-Error: duplicate function definition for butThisIsAnError: a function
+Error: duplicate function definition for butThisIsAnError: function
   with parameters
     double 
@@ -36,3 +33,4 @@
     double 
   with body 
+    CompoundStmt
 
Index: src/Tests/SynTree/Expected-SymTab/Tuple.tst
===================================================================
--- src/Tests/SynTree/Expected-SymTab/Tuple.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected-SymTab/Tuple.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -12,25 +12,24 @@
 Adding object d
 --- Leaving scope containing
-a (__a__i) (1)
-b (__b__i) (1)
-c (__c__Pi) (1)
-d (__d__Pc) (1)
-Adding struct inner
+Adding fwd decl for struct inner
 --- Entering scope
 Adding object f2
 Adding object f3
 --- Leaving scope containing
-f2 (__f2__i) (1)
-f3 (__f3__i) (1)
-Adding struct outer
+Adding struct inner
+Adding fwd decl for struct outer
 --- Entering scope
 Adding object f1
+--- Entering scope
+--- Leaving scope containing
 Adding object i
 Adding object f4
 --- Leaving scope containing
-f1 (__f1__i) (1)
-f4 (__f4__d) (1)
-i (__i__6sinner) (1)
+Adding struct outer
+--- Entering scope
+--- Leaving scope containing
 Adding object s
+--- Entering scope
+--- Leaving scope containing
 Adding object sp
 Adding object t1
@@ -42,11 +41,8 @@
 Adding object fmt
 --- Leaving scope containing
-fmt (__fmt__Pc) (1)
-rc (__rc__i) (1)
 Adding function printf
 --- Entering scope
 Adding object fmt
 --- Leaving scope containing
-fmt (__fmt__Pc) (1)
 Adding function f1
 --- Entering scope
@@ -57,7 +53,4 @@
 --- Leaving scope containing
 --- Leaving scope containing
-w (__w__i) (1)
-x (__x__s) (1)
-y (__y__Ui) (1)
 Adding function g1
 --- Entering scope
@@ -69,10 +62,5 @@
 Adding object z
 --- Leaving scope containing
-p (__p__s) (2)
-x (__x__s) (2)
-y (__y__Ui) (2)
-z (__z__Tii_) (2)
 --- Leaving scope containing
-r (__r__Ticli_) (1)
 Adding function main
 --- Entering scope
@@ -85,13 +73,7 @@
 Adding object c
 Adding object d
+--- Entering scope
+--- Leaving scope containing
 Adding object t
 --- Leaving scope containing
-a (__a__i) (2)
-b (__b__i) (2)
-c (__c__i) (2)
-d (__d__i) (2)
-t (__t__6souter) (2)
 --- Leaving scope containing
-argc (__argc__i) (1)
-argv (__argv__PPc) (1)
-rc (__rc__i) (1)
Index: src/Tests/SynTree/Expected/Array.tst
===================================================================
--- src/Tests/SynTree/Expected/Array.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected/Array.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,50 +1,51 @@
-a1: a open array of signed int 
-a2: a variable length array of signed int 
-a4: a array of   Constant Expression: 3signed int 
-m1: a open array of array of   Constant Expression: 3signed int 
-m2: a variable length array of variable length array of signed int 
-m4: a array of   Constant Expression: 3array of   Constant Expression: 3signed int 
-T: a typedef for signed int 
-fred: a function
+a1: open array of signed int 
+a2: variable length array of signed int 
+a4: array of double with dimension of constant expression 3.0 double 
+m1: open array of array of signed int with dimension of constant expression 3 signed int 
+m2: variable length array of variable length array of signed int 
+m4: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+T: typedef for signed int 
+fred: function
+      accepting unspecified arguments
     returning 
       signed int 
     with body 
-      Declaration of a1: a open array of signed int 
-      Declaration of a2: a variable length array of signed int 
-      Declaration of a4: a array of         Constant Expression: 3signed int 
-      Declaration of T: a array of         Constant Expression: 3signed int 
+      CompoundStmt
+        Declaration of a1: open array of signed int 
+        Declaration of a2: variable length array of signed int 
+        Declaration of a4: array of signed int with dimension of constant expression 3 signed int 
+        Declaration of T: array of signed int with dimension of constant expression 3 signed int 
 
-mary: a function
+mary: function
     with parameters
-      T: a array of         Constant Expression: 3signed int 
-      p1: a const array of         Constant Expression: 3signed int 
-      p2: a static array of         Constant Expression: 3signed int 
-      p3: a const static array of         Constant Expression: 3signed int 
+      T: array of signed int with dimension of constant expression 3 signed int 
+      p1: const array of signed int with dimension of constant expression 3 signed int 
+      p2: static array of signed int with dimension of constant expression 3 signed int 
+      p3: const static array of signed int with dimension of constant expression 3 signed int 
     returning 
       signed int 
     with body 
+      CompoundStmt
 
-      Null Statement
+tom: function
+      accepting unspecified arguments
+    returning 
+      pointer to array of signed int with dimension of constant expression 3 signed int 
+    with body 
+      CompoundStmt
 
-tom: a function
-    returning 
-      pointer to array of         Constant Expression: 3signed int 
-    with body 
-
-      Null Statement
-
-jane: a function
+jane: function
+      accepting unspecified arguments
     returning 
       pointer to function
           with parameters
-            T: a array of               Constant Expression: 3signed int 
-            p1: a const array of               Constant Expression: 3signed int 
-            p2: a static array of               Constant Expression: 3signed int 
-            p3: a const static array of               Constant Expression: 3signed int 
+            T: array of signed int with dimension of constant expression 3 signed int 
+            p1: const array of signed int with dimension of constant expression 3 signed int 
+            p2: static array of signed int with dimension of constant expression 3 signed int 
+            p3: const static array of signed int with dimension of constant expression 3 signed int 
           returning 
             signed int 
 
     with body 
+      CompoundStmt
 
-      Null Statement
-
Index: src/Tests/SynTree/Expected/Constant0-1.tst
===================================================================
--- src/Tests/SynTree/Expected/Constant0-1.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected/Constant0-1.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,69 +1,69 @@
-0: a signed int 
-0: a const signed int 
-0: a static const signed int 
-1: a signed int 
-1: a const signed int 
-1: a static const signed int 
-0: a signed int 
-1: a signed int 
-0: a const signed int 
-1: a const signed int 
-0: a static const signed int 
-1: a static const signed int 
+0: signed int 
+0: const signed int 
+0: static const signed int 
+1: signed int 
+1: const signed int 
+1: static const signed int 
+0: signed int 
+1: signed int 
+0: const signed int 
+1: const signed int 
+0: static const signed int 
+1: static const signed int 
 struct __anonymous0
     with members
-      i: a signed int 
+      i: signed int 
 
-0: a instance of struct __anonymous0 
+0: instance of struct __anonymous0 
 struct __anonymous1
     with members
-      i: a signed int 
+      i: signed int 
 
-1: a const instance of struct __anonymous1 
+1: const instance of struct __anonymous1 
 struct __anonymous2
     with members
-      i: a signed int 
+      i: signed int 
 
-1: a static const instance of struct __anonymous2 
-1: a signed int 
-0: a pointer to signed int 
-1: a signed int 
-1: a signed int 
-0: a pointer to signed int 
-0: a pointer to signed int 
-0: a pointer to signed int 
-0: a const pointer to signed int 
-0: a const pointer to signed int 
-0: a const pointer to signed int 
+1: static const instance of struct __anonymous2 
+1: signed int 
+0: pointer to signed int 
+1: signed int 
+1: signed int 
+0: pointer to signed int 
+0: pointer to signed int 
+0: pointer to signed int 
+0: const pointer to signed int 
+0: const pointer to signed int 
+0: const pointer to signed int 
 struct __anonymous3
     with members
-      i: a signed int 
+      i: signed int 
 
-0: a pointer to instance of struct __anonymous3 
-x: a pointer to signed int 
-0: a pointer to signed int 
-x: a const pointer to signed int 
-0: a const pointer to signed int 
-x: a static const pointer to signed int 
-0: a static const pointer to signed int 
+0: pointer to instance of struct __anonymous3 
+x: pointer to signed int 
+0: pointer to signed int 
+x: const pointer to signed int 
+0: const pointer to signed int 
+x: static const pointer to signed int 
+0: static const pointer to signed int 
 struct __anonymous4
     with members
-      i: a signed int 
+      i: signed int 
 
-0: a pointer to instance of struct __anonymous4 
+0: pointer to instance of struct __anonymous4 
 struct __anonymous5
     with members
-      i: a signed int 
+      i: signed int 
 
-0: a const pointer to instance of struct __anonymous5 
+0: const pointer to instance of struct __anonymous5 
 struct __anonymous6
     with members
-      i: a signed int 
+      i: signed int 
 
-0: a static const pointer to instance of struct __anonymous6 
-x: a static pointer to signed int 
-0: a static pointer to signed int 
-x: a static const pointer to signed int 
-0: a static const pointer to signed int 
-x: a const pointer to pointer to signed int 
-0: a const pointer to pointer to signed int 
+0: static const pointer to instance of struct __anonymous6 
+x: static pointer to signed int 
+0: static pointer to signed int 
+x: static const pointer to signed int 
+0: static const pointer to signed int 
+x: const pointer to pointer to signed int 
+0: const pointer to pointer to signed int 
Index: src/Tests/SynTree/Expected/Context.tst
===================================================================
--- src/Tests/SynTree/Expected/Context.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected/Context.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,53 +1,62 @@
 context has_q
     with parameters
-      T: a type
+      T: type
 
     with members
-      q: a function
+      q: function
           with parameters
-            instance of type T 
+            instance of type T (not function type) 
           returning 
-            instance of type T 
+            instance of type T (not function type) 
 
 
-f: a function
-    with forall
-      z: a type
+f: forall
+      z: type
         with assertions
+          ?=?: function
+              with parameters
+                pointer to instance of type z (not function type) 
+                instance of type z (not function type) 
+              returning 
+                instance of type z (not function type) 
+
           instance of context has_q 
             with parameters
-              instance of type z 
+              instance of type z (not function type) 
 
 
+    function
+      accepting unspecified arguments
     returning 
       void 
     with body 
-      Declaration of context has_r
-          with parameters
-            T: a type
-            U: a type
+      CompoundStmt
+        Declaration of context has_r
+            with parameters
+              T: type
+              U: type
 
-          with members
-            r: a function
-                with parameters
-                  instance of type T 
-                  function
-                      with parameters
-                        instance of type T 
-                        instance of type U 
-                      returning 
-                        instance of type T 
+            with members
+              r: function
+                  with parameters
+                    instance of type T (not function type) 
+                    function
+                        with parameters
+                          instance of type T (not function type) 
+                          instance of type U (not function type) 
+                        returning 
+                          instance of type T (not function type) 
 
-                returning 
-                  instance of type T 
+                  returning 
+                    instance of type T (not function type) 
 
 
-      Declaration of x: a extern type
-      Declaration of y: a extern type
-        with assertions
-          instance of context has_r 
-            with parameters
-              instance of type x 
-              instance of type y 
+        Declaration of x: auto type
+        Declaration of y: auto type
+          with assertions
+            instance of context has_r 
+              with parameters
+                instance of type x (not function type) 
+                instance of type y (not function type) 
 
 
Index: src/Tests/SynTree/Expected/DeclarationSpecifier.tst
===================================================================
--- src/Tests/SynTree/Expected/DeclarationSpecifier.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected/DeclarationSpecifier.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,193 +1,217 @@
-Int: a typedef for short signed int 
-x1: a const volatile short signed int 
-x2: a static const volatile short signed int 
-x3: a static const volatile short signed int 
-x4: a static const volatile short signed int 
-x4: a static const volatile short signed int 
-x5: a static const volatile short signed int 
-x6: a static const volatile short signed int 
-x7: a static const volatile short signed int 
-x8: a static const volatile short signed int 
+Int: typedef for short signed int 
+x1: const volatile short signed int 
+x2: static const volatile short signed int 
+x3: static const volatile short signed int 
+x4: static const volatile short signed int 
+x4: static const volatile short signed int 
+x5: static const volatile short signed int 
+x6: static const volatile short signed int 
+x7: static const volatile short signed int 
+x8: static const volatile short signed int 
 struct __anonymous0
     with members
-      i: a signed int 
-
-x10: a const volatile instance of struct __anonymous0 
+      i: signed int 
+
+x10: const volatile instance of struct __anonymous0 
 struct __anonymous1
     with members
-      i: a signed int 
-
-x11: a const volatile instance of struct __anonymous1 
+      i: signed int 
+
+x11: const volatile instance of struct __anonymous1 
 struct __anonymous2
     with members
-      i: a signed int 
-
-x12: a const volatile instance of struct __anonymous2 
+      i: signed int 
+
+x12: const volatile instance of struct __anonymous2 
 struct __anonymous3
     with members
-      i: a signed int 
-
-x13: a static const volatile instance of struct __anonymous3 
+      i: signed int 
+
+x13: static const volatile instance of struct __anonymous3 
 struct __anonymous4
     with members
-      i: a signed int 
-
-x14: a static const volatile instance of struct __anonymous4 
+      i: signed int 
+
+x14: static const volatile instance of struct __anonymous4 
 struct __anonymous5
     with members
-      i: a signed int 
-
-x15: a static const volatile instance of struct __anonymous5 
+      i: signed int 
+
+x15: static const volatile instance of struct __anonymous5 
 struct __anonymous6
     with members
-      i: a signed int 
-
-x16: a static const volatile instance of struct __anonymous6 
+      i: signed int 
+
+x16: static const volatile instance of struct __anonymous6 
 struct __anonymous7
     with members
-      i: a signed int 
-
-x17: a static const volatile instance of struct __anonymous7 
-x20: a const volatile instance of type Int 
-x21: a static const volatile instance of type Int 
-x22: a static const volatile instance of type Int 
-x23: a static const volatile instance of type Int 
-x24: a static const volatile instance of type Int 
-x25: a static const volatile instance of type Int 
-x26: a static const volatile instance of type Int 
-x27: a static const volatile instance of type Int 
+      i: signed int 
+
+x17: static const volatile instance of struct __anonymous7 
+x20: const volatile instance of type Int (not function type) 
+x21: static const volatile instance of type Int (not function type) 
+x22: static const volatile instance of type Int (not function type) 
+x23: static const volatile instance of type Int (not function type) 
+x24: static const volatile instance of type Int (not function type) 
+x25: static const volatile instance of type Int (not function type) 
+x26: static const volatile instance of type Int (not function type) 
+x27: static const volatile instance of type Int (not function type) 
 struct __anonymous8
     with members
-      i: a instance of type Int 
-
-x29: a const volatile instance of struct __anonymous8 
+      i: instance of type Int (not function type) 
+
+x29: const volatile instance of struct __anonymous8 
 struct __anonymous9
     with members
-      i: a instance of type Int 
-
-x30: a const volatile instance of struct __anonymous9 
+      i: instance of type Int (not function type) 
+
+x30: const volatile instance of struct __anonymous9 
 struct __anonymous10
     with members
-      i: a instance of type Int 
-
-x31: a const volatile instance of struct __anonymous10 
+      i: instance of type Int (not function type) 
+
+x31: const volatile instance of struct __anonymous10 
 struct __anonymous11
     with members
-      i: a instance of type Int 
-
-x32: a static const volatile instance of struct __anonymous11 
+      i: instance of type Int (not function type) 
+
+x32: static const volatile instance of struct __anonymous11 
 struct __anonymous12
     with members
-      i: a instance of type Int 
-
-x33: a static const volatile instance of struct __anonymous12 
+      i: instance of type Int (not function type) 
+
+x33: static const volatile instance of struct __anonymous12 
 struct __anonymous13
     with members
-      i: a instance of type Int 
-
-x34: a static const volatile instance of struct __anonymous13 
+      i: instance of type Int (not function type) 
+
+x34: static const volatile instance of struct __anonymous13 
 struct __anonymous14
     with members
-      i: a instance of type Int 
-
-x35: a static const volatile instance of struct __anonymous14 
+      i: instance of type Int (not function type) 
+
+x35: static const volatile instance of struct __anonymous14 
 struct __anonymous15
     with members
-      i: a instance of type Int 
-
-x36: a static const volatile instance of struct __anonymous15 
-f01: a inline static function
-    returning 
-      const volatile signed int 
-
-f02: a inline static function
-    returning 
-      const volatile signed int 
-
-f03: a inline static function
-    returning 
-      const volatile signed int 
-
-f04: a inline static function
-    returning 
-      const volatile signed int 
-
-f05: a inline static function
-    returning 
-      const volatile signed int 
-
-f06: a inline static function
-    returning 
-      const volatile signed int 
-
-f07: a inline static function
-    returning 
-      const volatile signed int 
-
-f08: a inline static function
-    returning 
-      const volatile signed int 
-
-f11: a inline static function
-    returning 
-      const volatile signed int 
-
-f12: a inline static function
-    returning 
-      const volatile signed int 
-
-f13: a inline static function
-    returning 
-      const volatile signed int 
-
-f14: a inline static function
-    returning 
-      const volatile signed int 
-
-f15: a inline static function
-    returning 
-      const volatile signed int 
-
-f16: a inline static function
-    returning 
-      const volatile signed int 
-
-f17: a inline static function
-    returning 
-      const volatile signed int 
-
-f18: a inline static function
-    returning 
-      const volatile signed int 
-
-f21: a inline static function
-    returning 
-      const volatile short signed int 
-
-f22: a inline static function
-    returning 
-      const volatile short signed int 
-
-f23: a inline static function
-    returning 
-      const volatile short signed int 
-
-f24: a inline static function
-    returning 
-      const volatile short signed int 
-
-f25: a inline static function
-    returning 
-      const volatile short signed int 
-
-f26: a inline static function
-    returning 
-      const volatile short signed int 
-
-f27: a inline static function
-    returning 
-      const volatile short signed int 
-
-f28: a inline static function
+      i: instance of type Int (not function type) 
+
+x36: static const volatile instance of struct __anonymous15 
+f01: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile signed int 
+
+f02: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile signed int 
+
+f03: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile signed int 
+
+f04: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile signed int 
+
+f05: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile signed int 
+
+f06: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile signed int 
+
+f07: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile signed int 
+
+f08: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile signed int 
+
+f11: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile signed int 
+
+f12: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile signed int 
+
+f13: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile signed int 
+
+f14: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile signed int 
+
+f15: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile signed int 
+
+f16: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile signed int 
+
+f17: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile signed int 
+
+f18: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile signed int 
+
+f21: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile short signed int 
+
+f22: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile short signed int 
+
+f23: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile short signed int 
+
+f24: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile short signed int 
+
+f25: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile short signed int 
+
+f26: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile short signed int 
+
+f27: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile short signed int 
+
+f28: inline static function
+      accepting unspecified arguments
     returning 
       const volatile short signed int 
@@ -195,7 +219,8 @@
 struct __anonymous16
     with members
-      i: a signed int 
-
-f31: a inline static function
+      i: signed int 
+
+f31: inline static function
+      accepting unspecified arguments
     returning 
       const volatile instance of struct __anonymous16 
@@ -203,7 +228,8 @@
 struct __anonymous17
     with members
-      i: a signed int 
-
-f32: a inline static function
+      i: signed int 
+
+f32: inline static function
+      accepting unspecified arguments
     returning 
       const volatile instance of struct __anonymous17 
@@ -211,7 +237,8 @@
 struct __anonymous18
     with members
-      i: a signed int 
-
-f33: a inline static function
+      i: signed int 
+
+f33: inline static function
+      accepting unspecified arguments
     returning 
       const volatile instance of struct __anonymous18 
@@ -219,7 +246,8 @@
 struct __anonymous19
     with members
-      i: a signed int 
-
-f34: a inline static function
+      i: signed int 
+
+f34: inline static function
+      accepting unspecified arguments
     returning 
       const volatile instance of struct __anonymous19 
@@ -227,7 +255,8 @@
 struct __anonymous20
     with members
-      i: a signed int 
-
-f35: a inline static function
+      i: signed int 
+
+f35: inline static function
+      accepting unspecified arguments
     returning 
       const volatile instance of struct __anonymous20 
@@ -235,7 +264,8 @@
 struct __anonymous21
     with members
-      i: a signed int 
-
-f36: a inline static function
+      i: signed int 
+
+f36: inline static function
+      accepting unspecified arguments
     returning 
       const volatile instance of struct __anonymous21 
@@ -243,7 +273,8 @@
 struct __anonymous22
     with members
-      i: a signed int 
-
-f37: a inline static function
+      i: signed int 
+
+f37: inline static function
+      accepting unspecified arguments
     returning 
       const volatile instance of struct __anonymous22 
@@ -251,40 +282,49 @@
 struct __anonymous23
     with members
-      i: a signed int 
-
-f38: a inline static function
+      i: signed int 
+
+f38: inline static function
+      accepting unspecified arguments
     returning 
       const volatile instance of struct __anonymous23 
 
-f41: a inline static function
-    returning 
-      const volatile instance of type Int 
-
-f42: a inline static function
-    returning 
-      const volatile instance of type Int 
-
-f43: a inline static function
-    returning 
-      const volatile instance of type Int 
-
-f44: a inline static function
-    returning 
-      const volatile instance of type Int 
-
-f45: a inline static function
-    returning 
-      const volatile instance of type Int 
-
-f46: a inline static function
-    returning 
-      const volatile instance of type Int 
-
-f47: a inline static function
-    returning 
-      const volatile instance of type Int 
-
-f48: a inline static function
-    returning 
-      const volatile instance of type Int 
-
+f41: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile instance of type Int (not function type) 
+
+f42: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile instance of type Int (not function type) 
+
+f43: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile instance of type Int (not function type) 
+
+f44: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile instance of type Int (not function type) 
+
+f45: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile instance of type Int (not function type) 
+
+f46: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile instance of type Int (not function type) 
+
+f47: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile instance of type Int (not function type) 
+
+f48: inline static function
+      accepting unspecified arguments
+    returning 
+      const volatile instance of type Int (not function type) 
+
Index: src/Tests/SynTree/Expected/Enum.tst
===================================================================
--- src/Tests/SynTree/Expected/Enum.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected/Enum.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,13 +1,13 @@
 enum Colors
     with members
-      Red: a untyped entity 
-      Yellow: a untyped entity 
-      Pink: a untyped entity 
-      Blue: a untyped entity 
-      Purple: a untyped entity 
-      Orange: a untyped entity 
-      Green: a untyped entity 
+      Red: untyped entity 
+      Yellow: untyped entity 
+      Pink: untyped entity 
+      Blue: untyped entity 
+      Purple: untyped entity 
+      Orange: untyped entity 
+      Green: untyped entity 
 
-f: a function
+f: function
     with parameters
       void 
@@ -15,11 +15,14 @@
       void 
     with body 
-      Declaration of enum Fruits
-          with members
-            Apple: a untyped entity 
-            Banana: a untyped entity 
-            Pear: a untyped entity 
-            Mango: a untyped entity 
+      CompoundStmt
+        Declaration of enum Fruits
+            with members
+              Apple: untyped entity 
+              Banana: untyped entity 
+              Pear: untyped entity 
+              Mango: untyped entity 
 
-      Declaration of fruit: a instance of enum Fruits 
+        Declaration of fruit: instance of enum Fruits with initializer 
+          Simple Initializer:             Name: Mango
 
+
Index: src/Tests/SynTree/Expected/Forall.tst
===================================================================
--- src/Tests/SynTree/Expected/Forall.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected/Forall.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,229 +1,330 @@
-in default case, (shouldn't be here)
-in default case, (shouldn't be here)
-f: a typedef for pointer to function
+f: typedef for pointer to forall
+      T: type
+        with assertions
+          ?=?: function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
     with parameters
       signed int 
-    with forall
-      T: a type
     returning 
       signed int 
 
-swap: a function
-    with parameters
-      left: a instance of type T 
-      right: a instance of type T 
-    with forall
-      T: a type
+swap: forall
+      T: type
+        with assertions
+          ?=?: function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      left: instance of type T (not function type) 
+      right: instance of type T (not function type) 
     returning 
       void 
     with body 
-      Declaration of temp: a instance of type T 
-      
-        Expression Statement:
-          Applying untyped: 
-              Name: ?=?
- to: 
-              Name: left
-              Name: right
-
-      
-        Expression Statement:
-          Applying untyped: 
-              Name: ?=?
- to: 
-              Name: right
-              Name: temp
+      CompoundStmt
+        Declaration of temp: instance of type T (not function type) with initializer 
+          Simple Initializer:             Name: left
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Name: left
+                Name: right
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Name: right
+                Name: temp
 
 
 context sumable
     with parameters
-      T: a type
+      T: type
 
     with members
-      0: a const instance of type T 
-      ?+?: a function
+      0: const instance of type T (not function type) 
+      ?+?: function
           with parameters
-            instance of type T 
-            instance of type T 
+            instance of type T (not function type) 
+            instance of type T (not function type) 
           returning 
-            instance of type T 
-
-      ?++: a function
+            instance of type T (not function type) 
+
+      ?++: function
           with parameters
-            instance of type T 
+            instance of type T (not function type) 
           returning 
-            instance of type T 
-
-      ?+=?: a function
+            instance of type T (not function type) 
+
+      ?+=?: function
           with parameters
-            instance of type T 
-            instance of type T 
+            instance of type T (not function type) 
+            instance of type T (not function type) 
           returning 
-            instance of type T 
-
-
-T1: a type
+            instance of type T (not function type) 
+
+
+T1: type
   with assertions
-    0: a const instance of type T1 
-    ?+?: a function
+    0: const instance of type T1 (not function type) 
+    ?+?: function
         with parameters
-          instance of type T1 
-          instance of type T1 
+          instance of type T1 (not function type) 
+          instance of type T1 (not function type) 
         returning 
-          instance of type T1 
-
-    ?++: a function
+          instance of type T1 (not function type) 
+
+    ?++: function
         with parameters
-          instance of type T1 
+          instance of type T1 (not function type) 
         returning 
-          instance of type T1 
-
-    ?+=?: a function
+          instance of type T1 (not function type) 
+
+    ?+=?: function
         with parameters
-          instance of type T1 
-          instance of type T1 
+          instance of type T1 (not function type) 
+          instance of type T1 (not function type) 
         returning 
-          instance of type T1 
-
-
-T2: a type
-  with parameters
-    P1: a type
-    P2: a type
-
-T3: a type
+          instance of type T1 (not function type) 
+
+
+T2: type
+  with parameters
+    P1: type
+    P2: type
+
+T3: type
   with assertions
     instance of context sumable 
       with parameters
-        instance of type T3 
+        instance of type T3 (not function type) 
 
 
 struct __anonymous0
     with members
-      i: a instance of type P1 
-      j: a instance of type P2 
-
-T2: a type for instance of struct __anonymous0 
-  with parameters
-    P1: a type
-    P2: a type
+      i: instance of type P1 (not function type) 
+      j: instance of type P2 (not function type) 
+
+T2: type for instance of struct __anonymous0 
+  with parameters
+    P1: type
+    P2: type
 
   with assertions
     instance of context sumable 
       with parameters
-        instance of type T2 
+        instance of type T2 (not function type) 
           with parameters
-            instance of type P1 
-            instance of type P2 
-
-
-
-w1: a instance of type T2 
-  with parameters
-    signed int 
-    signed int 
-
-w2: a typedef for instance of type T2 
-  with parameters
-    signed int 
-    signed int 
-
-g2: a instance of type w2 
-w3: a type for instance of type T2 
-  with parameters
-    signed int 
-    signed int 
-
-g3: a instance of type w3 
-sum: a function
-    with parameters
-      n: a signed int 
-      a: a open array of instance of type T 
-    with forall
-      T: a type
+            instance of type P1 (not function type) 
+            instance of type P2 (not function type) 
+
+
+
+w1: instance of type T2 (not function type) 
+  with parameters
+    signed int 
+    signed int 
+
+w2: typedef for instance of type T2 (not function type) 
+  with parameters
+    signed int 
+    signed int 
+
+g2: instance of type w2 (not function type) 
+w3: type for instance of type T2 (not function type) 
+  with parameters
+    signed int 
+    signed int 
+
+g3: instance of type w3 (not function type) 
+sum: forall
+      T: type
         with assertions
+          ?=?: function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
           instance of context sumable 
             with parameters
-              instance of type T 
-
-
-    returning 
-      instance of type T 
+              instance of type T (not function type) 
+
+
+    function
+    with parameters
+      n: signed int 
+      a: open array of instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
     with body 
-      Declaration of total: a instance of type T 
-      Declaration of i: a signed int 
-
-twice: a function
-    with parameters
-      t: a instance of type T 
-    with forall
-      T: a type
+      CompoundStmt
+        Declaration of total: instance of type T (not function type) with initializer 
+          Simple Initializer:             Name: 0
+
+        Declaration of i: signed int 
+                  Labels: {}
+          For Statement
+            initialization: 
+              Expression Statement:
+                Applying untyped: 
+                    Name: ?=?
+                ...to: 
+                    Address of:
+                      Name: i
+                    Name: 0
+
+            condition: 
+              Cast of:
+                Applying untyped: 
+                    Name: ?!=?
+                ...to: 
+                    Applying untyped: 
+                        Name: ?<?
+                    ...to: 
+                        Name: i
+                        Name: n
+                    Name: 0
+
+              to:
+                signed int 
+
+            increment: 
+              Applying untyped: 
+                  Name: ?+=?
+              ...to: 
+                  Address of:
+                    Name: i
+                  Name: 1
+
+            statement block: 
+              Expression Statement:
+                Applying untyped: 
+                    Name: ?=?
+                ...to: 
+                    Address of:
+                      Name: total
+                    Applying untyped: 
+                        Name: ?+?
+                    ...to: 
+                        Name: total
+                        Applying untyped: 
+                            Name: ?[?]
+                        ...to: 
+                            Name: a
+                            Name: i
+
+
+                  Return Statement, returning: Name: total
+
+
+
+twice: forall
+      T: type
         with assertions
-          0: a const instance of type T 
-          ?+?: a function
-              with parameters
-                instance of type T 
-                instance of type T 
-              returning 
-                instance of type T 
-
-          ?++: a function
-              with parameters
-                instance of type T 
-              returning 
-                instance of type T 
-
-          ?+=?: a function
-              with parameters
-                instance of type T 
-                instance of type T 
-              returning 
-                instance of type T 
-
-
-    returning 
-      instance of type T 
+          ?=?: function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          0: const instance of type T (not function type) 
+          ?+?: function
+              with parameters
+                instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          ?++: function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          ?+=?: function
+              with parameters
+                instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      t: instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
     with body 
-
-main: a function
+      CompoundStmt
+                  Return Statement, returning: Applying untyped: 
+    Name: ?+?
+...to: 
+    Name: t
+    Name: t
+
+
+
+main: C function
+      accepting unspecified arguments
     returning 
       signed int 
     with body 
-      Declaration of x: a signed int 
-      Declaration of y: a signed int 
-      Declaration of a: a array of         Constant Expression: 10signed int 
-      Declaration of f: a float 
-      
-        Expression Statement:
-          Applying untyped: 
-              Name: swap
- to: 
-              Name: x
-              Name: y
-
-      
-        Expression Statement:
-          Applying untyped: 
-              Name: twice
- to: 
-              Name: x
-              Name: y
-
-      
-        Expression Statement:
-          Applying untyped: 
-              Name: ?=?
- to: 
-              Name: f
-              Applying untyped: 
-                  Name: min
- to: 
-                  Constant Expression: 4.0                  Constant Expression: 3.0
-      
-        Expression Statement:
-          Applying untyped: 
-              Name: sum
- to: 
-              Constant Expression: 10              Name: a
-
-
+      CompoundStmt
+        Declaration of x: signed int with initializer 
+          Simple Initializer:             Name: 1
+
+        Declaration of y: signed int with initializer 
+          Simple Initializer: constant expression 2 signed int 
+        Declaration of a: array of signed int with dimension of constant expression 10 signed int 
+        Declaration of f: float 
+                  Expression Statement:
+            Applying untyped: 
+                Name: swap
+            ...to: 
+                Name: x
+                Name: y
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: twice
+            ...to: 
+                Name: x
+                Name: y
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Name: f
+                Applying untyped: 
+                    Name: min
+                ...to: 
+constant expression 4.0 double constant expression 3.0 double 
+                  Expression Statement:
+            Applying untyped: 
+                Name: sum
+            ...to: 
+constant expression 10 signed int                 Name: a
+
+
Index: src/Tests/SynTree/Expected/Functions.tst
===================================================================
--- src/Tests/SynTree/Expected/Functions.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected/Functions.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,3 +1,3 @@
-h: a function
+h: function
     with parameters
       void 
@@ -5,6 +5,7 @@
       void 
     with body 
-
-f: a function
+      CompoundStmt
+
+f: function
     with parameters
       function
@@ -32,5 +33,5 @@
             signed int 
 
-      g: a function
+      g: function
           with parameters
             void 
@@ -41,125 +42,188 @@
       signed int 
     with body 
-
-f1: a function
-    returning 
-      signed int 
-    with body 
-
-f2: a function
-    returning 
-      signed int 
-    with body 
-
-f3: a function
+      CompoundStmt
+                  Expression Statement:
+            Applying untyped: 
+                Applying untyped: 
+                    Name: *?
+                ...to: 
+                    Name: g
+            ...to: 
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: g
+            ...to: 
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Name: g
+                Name: h
+
+
+f1: function
+      accepting unspecified arguments
+    returning 
+      signed int 
+    with body 
+      CompoundStmt
+
+f2: function
+      accepting unspecified arguments
+    returning 
+      signed int 
+    with body 
+      CompoundStmt
+
+f3: function
+      accepting unspecified arguments
     returning 
       pointer to function
-          returning 
-            signed int 
-
-    with body 
-
-f4: a function
+            accepting unspecified arguments
+          returning 
+            signed int 
+
+    with body 
+      CompoundStmt
+
+f4: function
+      accepting unspecified arguments
     returning 
       pointer to signed int 
     with body 
-
-f5: a function
+      CompoundStmt
+
+f5: function
+      accepting unspecified arguments
     returning 
       pointer to function
-          returning 
-            signed int 
-
-    with body 
-
-f6: a function
+            accepting unspecified arguments
+          returning 
+            signed int 
+
+    with body 
+      CompoundStmt
+
+f6: function
+      accepting unspecified arguments
     returning 
       pointer to signed int 
     with body 
-
-f7: a function
+      CompoundStmt
+
+f7: function
+      accepting unspecified arguments
     returning 
       pointer to signed int 
     with body 
-
-f8: a function
+      CompoundStmt
+
+f8: function
+      accepting unspecified arguments
     returning 
       pointer to pointer to signed int 
     with body 
-
-f9: a function
+      CompoundStmt
+
+f9: function
+      accepting unspecified arguments
     returning 
       pointer to const pointer to signed int 
     with body 
-
-f10: a function
+      CompoundStmt
+
+f10: function
+      accepting unspecified arguments
     returning 
       pointer to open array of signed int 
     with body 
-
-f11: a function
-    returning 
-      pointer to open array of open array of signed int 
-    with body 
-
-f12: a function
-    returning 
-      pointer to open array of open array of signed int 
-    with body 
-
-fII1: a function
-    with parameters
-      i: a signed int 
-    returning 
-      signed int 
-    with body 
-
-fII2: a function
-    with parameters
-      i: a signed int 
+      CompoundStmt
+
+f11: function
+      accepting unspecified arguments
+    returning 
+      pointer to open array of array of signed int with dimension of constant expression 3 signed int 
+    with body 
+      CompoundStmt
+
+f12: function
+      accepting unspecified arguments
+    returning 
+      pointer to open array of array of signed int with dimension of constant expression 3 signed int 
+    with body 
+      CompoundStmt
+
+fII1: function
+    with parameters
+      i: signed int 
+    returning 
+      signed int 
+    with body 
+      CompoundStmt
+
+fII2: function
+    with parameters
+      i: signed int 
     returning 
       const signed int 
     with body 
-
-fII3: a extern function
-    with parameters
-      i: a signed int 
-    returning 
-      signed int 
-    with body 
-
-fII4: a extern function
-    with parameters
-      i: a signed int 
+      CompoundStmt
+
+fII3: auto function
+    with parameters
+      i: signed int 
+    returning 
+      signed int 
+    with body 
+      CompoundStmt
+
+fII4: auto function
+    with parameters
+      i: signed int 
     returning 
       const signed int 
     with body 
-
-fII5: a function
+      CompoundStmt
+
+fII5: function
+      accepting unspecified arguments
     returning 
       pointer to signed int 
     with body 
-
-fII6: a function
+      CompoundStmt
+
+fII6: function
+      accepting unspecified arguments
     returning 
       const pointer to signed int 
     with body 
-
-fII7: a function
+      CompoundStmt
+
+fII7: function
+      accepting unspecified arguments
     returning 
       pointer to const long signed int 
     with body 
-
-fII8: a static function
+      CompoundStmt
+
+fII8: static function
+      accepting unspecified arguments
     returning 
       pointer to const long signed int 
     with body 
-
-fII9: a static function
+      CompoundStmt
+
+fII9: static function
+      accepting unspecified arguments
     returning 
       pointer to const long signed int 
     with body 
-
-fO1: a function
+      CompoundStmt
+
+fO1: function
+      accepting unspecified arguments
     returning 
       signed int 
@@ -167,8 +231,10 @@
       i
     with parameter declarations
-      i: a signed int 
-    with body 
-
-fO2: a function
+      i: signed int 
+    with body 
+      CompoundStmt
+
+fO2: function
+      accepting unspecified arguments
     returning 
       signed int 
@@ -176,8 +242,10 @@
       i
     with parameter declarations
-      i: a signed int 
-    with body 
-
-fO3: a function
+      i: signed int 
+    with body 
+      CompoundStmt
+
+fO3: function
+      accepting unspecified arguments
     returning 
       const signed int 
@@ -185,8 +253,10 @@
       i
     with parameter declarations
-      i: a signed int 
-    with body 
-
-fO4: a extern function
+      i: signed int 
+    with body 
+      CompoundStmt
+
+fO4: auto function
+      accepting unspecified arguments
     returning 
       signed int 
@@ -194,8 +264,10 @@
       i
     with parameter declarations
-      i: a signed int 
-    with body 
-
-fO5: a extern function
+      i: signed int 
+    with body 
+      CompoundStmt
+
+fO5: auto function
+      accepting unspecified arguments
     returning 
       const signed int 
@@ -203,249 +275,266 @@
       i
     with parameter declarations
-      i: a signed int 
-    with body 
-
-f: a function
-    returning 
-      nothing 
-
-f: a function
-    returning 
-      signed int 
-
-f: a function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-f: a function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f: a function
-    returning 
-      nothing 
-    with body 
-
-f: a function
-    returning 
-      signed int 
-    with body 
-
-f: a function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-    with body 
-
-f: a function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-    with body 
-
-f: a function
-    returning 
-      x: a signed int 
-
-f: a function
-    with parameters
-      x: a signed int 
-    returning 
-      nothing 
-
-f: a function
-    with parameters
-      x: a signed int 
-    returning 
-      x: a signed int 
-
-f: a function
-    returning 
-      x: a signed int 
-    with body 
-
-f: a function
-    with parameters
-      x: a signed int 
-    returning 
-      nothing 
-    with body 
-
-f: a function
-    with parameters
-      x: a signed int 
-    returning 
-      x: a signed int 
-    with body 
-
-f: a function
-    returning 
-      signed int 
-      x: a signed int 
-
-f: a function
-    with parameters
-      signed int 
-      x: a signed int 
-    returning 
-      nothing 
-
-f: a function
-    with parameters
-      signed int 
-      x: a signed int 
-    returning 
-      signed int 
-      x: a signed int 
-
-f: a function
-    returning 
-      signed int 
-      x: a signed int 
-    with body 
-
-f: a function
-    with parameters
-      signed int 
-      x: a signed int 
-    returning 
-      nothing 
-    with body 
-
-f: a function
-    with parameters
-      signed int 
-      x: a signed int 
-    returning 
-      signed int 
-      x: a signed int 
-    with body 
-
-f: a function
-    returning 
-      signed int 
-      x: a signed int 
-      signed int 
-
-f: a function
-    with parameters
-      signed int 
-      x: a signed int 
-      signed int 
-    returning 
-      nothing 
-
-f: a function
-    with parameters
-      signed int 
-      x: a signed int 
-      signed int 
-    returning 
-      signed int 
-      x: a signed int 
-      signed int 
-
-f: a function
-    returning 
-      signed int 
-      x: a signed int 
-      signed int 
-    with body 
-
-f: a function
-    with parameters
-      signed int 
-      x: a signed int 
-      signed int 
-    returning 
-      nothing 
-    with body 
-
-f: a function
-    with parameters
-      signed int 
-      x: a signed int 
-      signed int 
-    returning 
-      signed int 
-      x: a signed int 
-      signed int 
-    with body 
-
-f: a function
-    returning 
-      signed int 
-      x: a signed int 
-      y: a pointer to signed int 
-
-f: a function
-    with parameters
-      signed int 
-      x: a signed int 
-      y: a pointer to signed int 
-    returning 
-      nothing 
-
-f: a function
-    with parameters
-      signed int 
-      x: a signed int 
-      y: a pointer to signed int 
-    returning 
-      signed int 
-      x: a signed int 
-      y: a pointer to signed int 
-
-f: a function
-    returning 
-      signed int 
-      x: a signed int 
-      y: a pointer to signed int 
-    with body 
-
-f: a function
-    with parameters
-      signed int 
-      x: a signed int 
-      y: a pointer to signed int 
-    returning 
-      nothing 
-    with body 
-
-f: a function
-    with parameters
-      signed int 
-      x: a signed int 
-      y: a pointer to signed int 
-    returning 
-      signed int 
-      x: a signed int 
-      y: a pointer to signed int 
-    with body 
-
-f11: a function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f12: a function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f: a function
+      i: signed int 
+    with body 
+      CompoundStmt
+
+f: function
+    returning 
+      nothing 
+
+f: function
+    returning 
+      signed int 
+
+f: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+f: function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+f: function
+    returning 
+      nothing 
+    with body 
+      CompoundStmt
+
+f: function
+    returning 
+      signed int 
+    with body 
+      CompoundStmt
+
+f: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+    with body 
+      CompoundStmt
+
+f: function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+    with body 
+      CompoundStmt
+
+f: function
+    returning 
+      x: signed int 
+
+f: function
+    with parameters
+      x: signed int 
+    returning 
+      nothing 
+
+f: function
+    with parameters
+      x: signed int 
+    returning 
+      x: signed int 
+
+f: function
+    returning 
+      x: signed int 
+    with body 
+      CompoundStmt
+
+f: function
+    with parameters
+      x: signed int 
+    returning 
+      nothing 
+    with body 
+      CompoundStmt
+
+f: function
+    with parameters
+      x: signed int 
+    returning 
+      x: signed int 
+    with body 
+      CompoundStmt
+
+f: function
+    returning 
+      signed int 
+      x: signed int 
+
+f: function
+    with parameters
+      signed int 
+      x: signed int 
+    returning 
+      nothing 
+
+f: function
+    with parameters
+      signed int 
+      x: signed int 
+    returning 
+      signed int 
+      x: signed int 
+
+f: function
+    returning 
+      signed int 
+      x: signed int 
+    with body 
+      CompoundStmt
+
+f: function
+    with parameters
+      signed int 
+      x: signed int 
+    returning 
+      nothing 
+    with body 
+      CompoundStmt
+
+f: function
+    with parameters
+      signed int 
+      x: signed int 
+    returning 
+      signed int 
+      x: signed int 
+    with body 
+      CompoundStmt
+
+f: function
+    returning 
+      signed int 
+      x: signed int 
+      signed int 
+
+f: function
+    with parameters
+      signed int 
+      x: signed int 
+      signed int 
+    returning 
+      nothing 
+
+f: function
+    with parameters
+      signed int 
+      x: signed int 
+      signed int 
+    returning 
+      signed int 
+      x: signed int 
+      signed int 
+
+f: function
+    returning 
+      signed int 
+      x: signed int 
+      signed int 
+    with body 
+      CompoundStmt
+
+f: function
+    with parameters
+      signed int 
+      x: signed int 
+      signed int 
+    returning 
+      nothing 
+    with body 
+      CompoundStmt
+
+f: function
+    with parameters
+      signed int 
+      x: signed int 
+      signed int 
+    returning 
+      signed int 
+      x: signed int 
+      signed int 
+    with body 
+      CompoundStmt
+
+f: function
+    returning 
+      signed int 
+      x: signed int 
+      y: pointer to signed int 
+
+f: function
+    with parameters
+      signed int 
+      x: signed int 
+      y: pointer to signed int 
+    returning 
+      nothing 
+
+f: function
+    with parameters
+      signed int 
+      x: signed int 
+      y: pointer to signed int 
+    returning 
+      signed int 
+      x: signed int 
+      y: pointer to signed int 
+
+f: function
+    returning 
+      signed int 
+      x: signed int 
+      y: pointer to signed int 
+    with body 
+      CompoundStmt
+
+f: function
+    with parameters
+      signed int 
+      x: signed int 
+      y: pointer to signed int 
+    returning 
+      nothing 
+    with body 
+      CompoundStmt
+
+f: function
+    with parameters
+      signed int 
+      x: signed int 
+      y: pointer to signed int 
+    returning 
+      signed int 
+      x: signed int 
+      y: pointer to signed int 
+    with body 
+      CompoundStmt
+
+f11: function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+f12: function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+f: function
     with parameters
       function
           with parameters
             signed int 
-            p: a signed int 
+            p: signed int 
           returning 
             signed int 
@@ -460,29 +549,34 @@
       signed int 
     with body 
-      Declaration of p: a pointer to open array of open array of pointer to open array of open array of signed int 
-      Declaration of p: a pointer to open array of open array of pointer to open array of open array of signed int 
-      Declaration of p: a pointer to open array of pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-
-f1: a static function
+      CompoundStmt
+        Declaration of p: pointer to open array of array of pointer to open array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 10 signed int 
+        Declaration of p: pointer to open array of array of pointer to open array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 10 signed int 
+        Declaration of p: pointer to open array of pointer to function
+            with parameters
+              signed int 
+            returning 
+              signed int 
+
+
+f1: static function
+      accepting unspecified arguments
     returning 
       pointer to const signed int 
     with body 
-
-f2: a static function
+      CompoundStmt
+
+f2: static function
     returning 
       const signed int 
     with body 
-
-f3: a inline static function
+      CompoundStmt
+
+f3: inline static function
     returning 
       const pointer to signed int 
     with body 
-
-f4: a inline static function
+      CompoundStmt
+
+f4: inline static function
     returning 
       const tuple of types
@@ -491,6 +585,7 @@
 
     with body 
-
-f5: a static function
+      CompoundStmt
+
+f5: static function
     returning 
       const tuple of types
@@ -499,88 +594,107 @@
 
     with body 
-
-f: a function
-    with parameters
-      function
-          returning 
-            signed int 
-
-      function
+      CompoundStmt
+
+f: function
+    with parameters
+      function
+            accepting unspecified arguments
+          returning 
+            signed int 
+
+      function
+            accepting unspecified arguments
           returning 
             pointer to signed int 
 
       function
+            accepting unspecified arguments
           returning 
             pointer to pointer to signed int 
 
       function
+            accepting unspecified arguments
           returning 
             pointer to const pointer to signed int 
 
       function
+            accepting unspecified arguments
           returning 
             const pointer to const pointer to signed int 
 
       open array of signed int 
+      array of signed int with dimension of constant expression 10 signed int 
+      open array of pointer to signed int 
+      array of pointer to signed int with dimension of constant expression 10 signed int 
+      open array of pointer to pointer to signed int 
+      array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
+      open array of pointer to const pointer to signed int 
+      array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+      open array of const pointer to const pointer to signed int 
+      array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+    returning 
+      signed int 
+
+f: function
+    with parameters
+      function
+            accepting unspecified arguments
+          returning 
+            signed int 
+
+      function
+            accepting unspecified arguments
+          returning 
+            pointer to signed int 
+
+      function
+            accepting unspecified arguments
+          returning 
+            pointer to pointer to signed int 
+
+      function
+            accepting unspecified arguments
+          returning 
+            pointer to const pointer to signed int 
+
+      function
+            accepting unspecified arguments
+          returning 
+            const pointer to const pointer to signed int 
+
       open array of signed int 
+      array of signed int with dimension of constant expression 10 signed int 
       open array of pointer to signed int 
-      open array of pointer to signed int 
+      array of pointer to signed int with dimension of constant expression 10 signed int 
       open array of pointer to pointer to signed int 
-      open array of pointer to pointer to signed int 
+      array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
       open array of pointer to const pointer to signed int 
-      open array of pointer to const pointer to signed int 
+      array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
       open array of const pointer to const pointer to signed int 
-      open array of const pointer to const pointer to signed int 
-    returning 
-      signed int 
-
-f: a function
-    with parameters
-      function
-          returning 
-            signed int 
-
-      function
-          returning 
-            pointer to signed int 
-
-      function
-          returning 
-            pointer to pointer to signed int 
-
-      function
-          returning 
-            pointer to const pointer to signed int 
-
-      function
-          returning 
-            const pointer to const pointer to signed int 
-
-      open array of signed int 
-      open array of signed int 
-      open array of pointer to signed int 
-      open array of pointer to signed int 
-      open array of pointer to pointer to signed int 
-      open array of pointer to pointer to signed int 
-      open array of pointer to const pointer to signed int 
-      open array of pointer to const pointer to signed int 
-      open array of const pointer to const pointer to signed int 
-      open array of const pointer to const pointer to signed int 
-    returning 
-      signed int 
-    with body 
-
-T: a typedef for signed int 
-f: a function
+      array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+    returning 
+      signed int 
+    with body 
+      CompoundStmt
+
+T: typedef for signed int 
+f: function
     with parameters
       function
           with parameters
-            instance of type T 
-          returning 
-            instance of type T 
-
-      T: a instance of type T 
-    returning 
-      signed int 
-    with body 
-
+            instance of type T (not function type) 
+          returning 
+            instance of type T (not function type) 
+
+      T: instance of type T (not function type) 
+    returning 
+      signed int 
+    with body 
+      CompoundStmt
+                  Expression Statement:
+            Applying untyped: 
+                Name: T
+            ...to: 
+                Name: T
+
+
Index: src/Tests/SynTree/Expected/IdentFuncDeclarator.tst
===================================================================
--- src/Tests/SynTree/Expected/IdentFuncDeclarator.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected/IdentFuncDeclarator.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,179 +1,184 @@
-main: a function
+main: C function
+      accepting unspecified arguments
     returning 
       signed int 
     with body 
-      Declaration of f1: a signed int 
-      Declaration of f2: a signed int 
-      Declaration of f3: a pointer to signed int 
-      Declaration of f4: a pointer to pointer to signed int 
-      Declaration of f5: a pointer to const pointer to signed int 
-      Declaration of f6: a const pointer to const pointer to signed int 
-      Declaration of f7: a pointer to signed int 
-      Declaration of f8: a pointer to pointer to signed int 
-      Declaration of f9: a pointer to const pointer to signed int 
-      Declaration of f10: a const pointer to const pointer to signed int 
-      Declaration of f11: a pointer to signed int 
-      Declaration of f12: a pointer to pointer to signed int 
-      Declaration of f13: a pointer to const pointer to signed int 
-      Declaration of f14: a const pointer to const pointer to signed int 
-      Declaration of f15: a open array of signed int 
-      Declaration of f16: a open array of signed int 
-      Declaration of f17: a open array of signed int 
-      Declaration of f18: a open array of signed int 
-      Declaration of f19: a open array of pointer to signed int 
-      Declaration of f20: a open array of pointer to signed int 
-      Declaration of f21: a open array of pointer to pointer to signed int 
-      Declaration of f22: a open array of pointer to pointer to signed int 
-      Declaration of f23: a open array of pointer to const pointer to signed int 
-      Declaration of f24: a open array of pointer to const pointer to signed int 
-      Declaration of f25: a open array of const pointer to const pointer to signed int 
-      Declaration of f26: a open array of const pointer to const pointer to signed int 
-      Declaration of f27: a open array of pointer to signed int 
-      Declaration of f28: a open array of pointer to signed int 
-      Declaration of f29: a open array of pointer to pointer to signed int 
-      Declaration of f30: a open array of pointer to pointer to signed int 
-      Declaration of f31: a open array of pointer to const pointer to signed int 
-      Declaration of f32: a open array of pointer to const pointer to signed int 
-      Declaration of f33: a open array of const pointer to const pointer to signed int 
-      Declaration of f34: a open array of const pointer to const pointer to signed int 
-      Declaration of f35: a open array of pointer to signed int 
-      Declaration of f36: a open array of pointer to signed int 
-      Declaration of f37: a open array of pointer to pointer to signed int 
-      Declaration of f38: a open array of pointer to pointer to signed int 
-      Declaration of f39: a open array of pointer to const pointer to signed int 
-      Declaration of f40: a open array of pointer to const pointer to signed int 
-      Declaration of f41: a open array of const pointer to const pointer to signed int 
-      Declaration of f42: a open array of const pointer to const pointer to signed int 
-      Declaration of f43: a open array of open array of signed int 
-      Declaration of f44: a open array of open array of signed int 
-      Declaration of f45: a open array of open array of signed int 
-      Declaration of f46: a open array of open array of signed int 
-      Declaration of f47: a open array of open array of signed int 
-      Declaration of f48: a open array of open array of signed int 
-      Declaration of f49: a open array of open array of pointer to signed int 
-      Declaration of f50: a open array of open array of pointer to signed int 
-      Declaration of f51: a open array of open array of pointer to pointer to signed int 
-      Declaration of f52: a open array of open array of pointer to pointer to signed int 
-      Declaration of f53: a open array of open array of pointer to const pointer to signed int 
-      Declaration of f54: a open array of open array of pointer to const pointer to signed int 
-      Declaration of f55: a open array of open array of const pointer to const pointer to signed int 
-      Declaration of f56: a open array of open array of const pointer to const pointer to signed int 
-      Declaration of f57: a open array of open array of pointer to signed int 
-      Declaration of f58: a open array of open array of pointer to signed int 
-      Declaration of f59: a open array of open array of pointer to pointer to signed int 
-      Declaration of f60: a open array of open array of pointer to pointer to signed int 
-      Declaration of f61: a open array of open array of pointer to const pointer to signed int 
-      Declaration of f62: a open array of open array of pointer to const pointer to signed int 
-      Declaration of f63: a open array of open array of const pointer to const pointer to signed int 
-      Declaration of f64: a open array of open array of const pointer to const pointer to signed int 
-      Declaration of f65: a function
-          with parameters
-            signed int 
-          returning 
-            signed int 
+      CompoundStmt
+        Declaration of f1: signed int 
+        Declaration of f2: signed int 
+        Declaration of f3: pointer to signed int 
+        Declaration of f4: pointer to pointer to signed int 
+        Declaration of f5: pointer to const pointer to signed int 
+        Declaration of f6: const pointer to const pointer to signed int 
+        Declaration of f7: pointer to signed int 
+        Declaration of f8: pointer to pointer to signed int 
+        Declaration of f9: pointer to const pointer to signed int 
+        Declaration of f10: const pointer to const pointer to signed int 
+        Declaration of f11: pointer to signed int 
+        Declaration of f12: pointer to pointer to signed int 
+        Declaration of f13: pointer to const pointer to signed int 
+        Declaration of f14: const pointer to const pointer to signed int 
+        Declaration of f15: open array of signed int 
+        Declaration of f16: array of signed int with dimension of constant expression 10 signed int 
+        Declaration of f17: open array of signed int 
+        Declaration of f18: array of signed int with dimension of constant expression 10 signed int 
+        Declaration of f19: open array of pointer to signed int 
+        Declaration of f20: array of pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f21: open array of pointer to pointer to signed int 
+        Declaration of f22: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f23: open array of pointer to const pointer to signed int 
+        Declaration of f24: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f25: open array of const pointer to const pointer to signed int 
+        Declaration of f26: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f27: open array of pointer to signed int 
+        Declaration of f28: array of pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f29: open array of pointer to pointer to signed int 
+        Declaration of f30: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f31: open array of pointer to const pointer to signed int 
+        Declaration of f32: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f33: open array of const pointer to const pointer to signed int 
+        Declaration of f34: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f35: open array of pointer to signed int 
+        Declaration of f36: array of pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f37: open array of pointer to pointer to signed int 
+        Declaration of f38: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f39: open array of pointer to const pointer to signed int 
+        Declaration of f40: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f41: open array of const pointer to const pointer to signed int 
+        Declaration of f42: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f43: open array of array of signed int with dimension of constant expression 3 signed int 
+        Declaration of f44: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f45: open array of array of signed int with dimension of constant expression 3 signed int 
+        Declaration of f46: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f47: open array of array of signed int with dimension of constant expression 3 signed int 
+        Declaration of f48: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f49: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
+        Declaration of f50: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f51: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
+        Declaration of f52: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f53: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
+        Declaration of f54: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f55: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
+        Declaration of f56: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f57: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
+        Declaration of f58: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f59: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
+        Declaration of f60: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f61: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
+        Declaration of f62: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f63: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
+        Declaration of f64: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f65: function
+            with parameters
+              signed int 
+            returning 
+              signed int 
 
-      Declaration of f66: a function
-          with parameters
-            signed int 
-          returning 
-            signed int 
+        Declaration of f66: function
+            with parameters
+              signed int 
+            returning 
+              signed int 
 
-      Declaration of f67: a function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
+        Declaration of f67: function
+            with parameters
+              signed int 
+            returning 
+              pointer to signed int 
 
-      Declaration of f68: a function
-          with parameters
-            signed int 
-          returning 
-            pointer to pointer to signed int 
+        Declaration of f68: function
+            with parameters
+              signed int 
+            returning 
+              pointer to pointer to signed int 
 
-      Declaration of f69: a function
-          with parameters
-            signed int 
-          returning 
-            pointer to const pointer to signed int 
+        Declaration of f69: function
+            with parameters
+              signed int 
+            returning 
+              pointer to const pointer to signed int 
 
-      Declaration of f70: a function
-          with parameters
-            signed int 
-          returning 
-            const pointer to const pointer to signed int 
+        Declaration of f70: function
+            with parameters
+              signed int 
+            returning 
+              const pointer to const pointer to signed int 
 
-      Declaration of f71: a function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
+        Declaration of f71: function
+            with parameters
+              signed int 
+            returning 
+              pointer to signed int 
 
-      Declaration of f72: a function
-          with parameters
-            signed int 
-          returning 
-            pointer to pointer to signed int 
+        Declaration of f72: function
+            with parameters
+              signed int 
+            returning 
+              pointer to pointer to signed int 
 
-      Declaration of f73: a function
-          with parameters
-            signed int 
-          returning 
-            pointer to const pointer to signed int 
+        Declaration of f73: function
+            with parameters
+              signed int 
+            returning 
+              pointer to const pointer to signed int 
 
-      Declaration of f74: a function
-          with parameters
-            signed int 
-          returning 
-            const pointer to const pointer to signed int 
+        Declaration of f74: function
+            with parameters
+              signed int 
+            returning 
+              const pointer to const pointer to signed int 
 
-      Declaration of f75: a pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
+        Declaration of f75: pointer to function
+            with parameters
+              signed int 
+            returning 
+              signed int 
 
-      Declaration of f76: a pointer to pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
+        Declaration of f76: pointer to pointer to function
+            with parameters
+              signed int 
+            returning 
+              signed int 
 
-      Declaration of f77: a pointer to const pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
+        Declaration of f77: pointer to const pointer to function
+            with parameters
+              signed int 
+            returning 
+              signed int 
 
-      Declaration of f78: a const pointer to const pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
+        Declaration of f78: const pointer to const pointer to function
+            with parameters
+              signed int 
+            returning 
+              signed int 
 
-      Declaration of f79: a pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to function
-                returning 
-                  signed int 
+        Declaration of f79: pointer to function
+            with parameters
+              signed int 
+            returning 
+              pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
 
 
-      Declaration of f80: a const pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to function
-                returning 
-                  signed int 
+        Declaration of f80: const pointer to function
+            with parameters
+              signed int 
+            returning 
+              pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
 
 
-      Declaration of f81: a const pointer to function
-          with parameters
-            signed int 
-          returning 
-            const pointer to function
-                returning 
-                  signed int 
+        Declaration of f81: const pointer to function
+            with parameters
+              signed int 
+            returning 
+              const pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
 
 
Index: src/Tests/SynTree/Expected/Initialization.tst
===================================================================
--- src/Tests/SynTree/Expected/Initialization.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected/Initialization.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,33 +1,83 @@
-x21: a pointer to signed int 
-x22: a signed int 
-x21: a pointer to signed int 
-x22: a signed int 
-y1: a open array of signed int 
-y2: a open array of signed int 
+x21: pointer to signed int with initializer 
+  Simple Initializer:     Name: 0
+
+x22: signed int with initializer 
+  Simple Initializer:     Name: 0
+
+x21: pointer to signed int with initializer 
+  Simple Initializer:     Name: 0
+
+x22: signed int with initializer 
+  Simple Initializer:     Name: 0
+
+y1: array of signed int with dimension of constant expression 20 signed int 
+y2: array of signed int with dimension of constant expression 20 signed int 
 struct __anonymous0
     with members
-      w: a tuple of types
+      w: tuple of types
           signed int 
 
 
-a: a instance of struct __anonymous0 
+a: instance of struct __anonymous0 with initializer 
+  Compound initializer:  
+    Simple Initializer:       Tuple:
+        constant expression 2 signed int 
+
+      designated by:         Name: w
+
 struct __anonymous1
     with members
-      a: a open array of signed int 
-      b: a signed int 
+      a: array of signed int with dimension of constant expression 3 signed int 
+      b: signed int 
 
-w: a open array of instance of struct __anonymous1 
+w: open array of instance of struct __anonymous1 with initializer 
+  Compound initializer:  
+    Compound initializer:        designated by: [        Name: 0
+        Name: a
+      ]
+      Simple Initializer:         Name: 1
+
+    Simple Initializer:       Name: 1
+
+      designated by:         Name: 0
+        Name: b
+
+    Simple Initializer: constant expression 2 signed int 
+      designated by:         Name: 1
+        Name: a
+        Name: 0
+
 struct __anonymous3
     with members
-      f1: a signed int 
-      f2: a signed int 
-      f3: a signed int 
+      f1: signed int 
+      f2: signed int 
+      f3: signed int 
       struct __anonymous2
           with members
-            g1: a signed int 
-            g2: a signed int 
-            g3: a signed int 
+            g1: signed int 
+            g2: signed int 
+            g3: signed int 
 
-      f4: a open array of instance of struct __anonymous2 
+      f4: array of instance of struct __anonymous2 with dimension of constant expression 4 signed int 
 
-v7: a instance of struct __anonymous3 
+v7: instance of struct __anonymous3 with initializer 
+  Compound initializer:  
+    Simple Initializer: constant expression 4 signed int 
+      designated by:         Name: f1
+
+    Simple Initializer: constant expression 3 signed int 
+      designated by:         Name: f2
+
+    Compound initializer:        designated by: [        Name: f4
+constant expression 2 signed int       ]
+      Simple Initializer: constant expression 3 signed int 
+        designated by:           Name: g1
+
+      Simple Initializer:         Name: 0
+
+        designated by:           Name: g3
+
+    Simple Initializer: constant expression 7 signed int 
+      designated by:         Name: f4
+constant expression 3 signed int         Name: g3
+
Index: src/Tests/SynTree/Expected/Scope.tst
===================================================================
--- src/Tests/SynTree/Expected/Scope.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected/Scope.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,115 +1,157 @@
-in default case, (shouldn't be here)
-in default case, (shouldn't be here)
-in default case, (shouldn't be here)
-x: a signed int 
-y: a typedef for double 
-t: a typedef for float 
-z: a instance of type y 
+x: signed int 
+y: typedef for double 
+t: typedef for float 
+z: instance of type y (not function type) 
 struct __anonymous0
     with members
-      a: a signed int 
-      b: a double 
+      a: signed int 
+      b: double 
 
-u: a type for instance of struct __anonymous0 
-f: a function
+u: type for instance of struct __anonymous0 
+f: function
     with parameters
-      y: a signed int 
+      y: signed int 
     returning 
       signed int 
 
-q: a instance of type y 
-w: a function
+q: instance of type y (not function type) 
+w: function
     with parameters
-      y: a instance of type y 
-      v: a instance of type u 
+      y: instance of type y (not function type) 
+      v: instance of type u (not function type) 
     returning 
-      instance of type y 
+      instance of type y (not function type) 
     with body 
-      Declaration of x: a type
-        with assertions
-          t: a function
-              with parameters
-                instance of type u 
-              returning 
-                instance of type x 
+      CompoundStmt
+        Declaration of x: type
+          with assertions
+            t: function
+                with parameters
+                  instance of type u (not function type) 
+                returning 
+                  instance of type x (not function type) 
 
 
-      Declaration of u: a instance of type u 
-      Declaration of z: a instance of type x 
+        Declaration of u: instance of type u (not function type) with initializer 
+          Simple Initializer:             Name: y
 
-p: a instance of type y 
+        Declaration of z: instance of type x (not function type) with initializer 
+          Simple Initializer:             Applying untyped: 
+                Name: t
+            ...to: 
+                Name: u
+
+
+p: instance of type y (not function type) 
 context has_u
     with parameters
-      z: a type
+      z: type
 
     with members
-      u: a function
+      u: function
           with parameters
-            instance of type z 
+            instance of type z (not function type) 
           returning 
-            instance of type z 
+            instance of type z (not function type) 
 
 
-q: a function
-    with parameters
-      the_t: a instance of type t 
-    with forall
-      t: a type
+q: forall
+      t: type
         with assertions
+          ?=?: function
+              with parameters
+                pointer to instance of type t (not function type) 
+                instance of type t (not function type) 
+              returning 
+                instance of type t (not function type) 
+
           instance of context has_u 
             with parameters
-              instance of type t 
+              instance of type t (not function type) 
 
 
+    function
+    with parameters
+      the_t: instance of type t (not function type) 
     returning 
-      instance of type y 
+      instance of type y (not function type) 
     with body 
-      Declaration of y: a instance of type t 
+      CompoundStmt
+        Declaration of y: instance of type t (not function type) with initializer 
+          Simple Initializer:             Applying untyped: 
+                Name: u
+            ...to: 
+                Name: the_t
 
-f: a function
+
+f: function
     with parameters
-      p: a instance of type y 
+      p: instance of type y (not function type) 
     returning 
-      instance of type t 
+      instance of type t (not function type) 
     with body 
-      Declaration of y: a signed int 
-      Declaration of x: a typedef for char 
-              Declaration of y: a instance of type x 
-        Declaration of z: a typedef for instance of type x 
-                  Declaration of x: a instance of type z 
-          Declaration of y: a typedef for instance of type z 
-          Declaration of z: a instance of type y 
+      CompoundStmt
+        Declaration of y: signed int 
+        Declaration of x: typedef for char 
+                  CompoundStmt
+            Declaration of y: instance of type x (not function type) 
+            Declaration of z: typedef for instance of type x (not function type) 
+                          CompoundStmt
+                Declaration of x: instance of type z (not function type) 
+                Declaration of y: typedef for instance of type z (not function type) 
+                Declaration of z: instance of type y (not function type) with initializer 
+                  Simple Initializer:                     Name: x
 
-        Declaration of x: a instance of type z 
 
-      Declaration of q: a instance of type x 
+            Declaration of x: instance of type z (not function type) with initializer 
+              Simple Initializer:                 Name: y
 
-g: a function
+
+        Declaration of q: instance of type x (not function type) with initializer 
+          Simple Initializer:             Name: y
+
+
+g: function
     with parameters
       void 
     returning 
-      instance of type t 
+      instance of type t (not function type) 
     with body 
-      Declaration of x: a typedef for char 
-      Declaration of z: a instance of type x 
+      CompoundStmt
+        Declaration of x: typedef for char 
+                  Try Statement
+            with block: 
+              CompoundStmt
+                                  Expression Statement:
+                    Applying untyped: 
+                        Name: some_func
+                    ...to: 
 
-q: a function
+            and handlers: 
+              Catch Statement
+              ... catching
+x: instance of type x (not function type) 
+
+        Declaration of z: instance of type x (not function type) 
+
+q: function
+      accepting unspecified arguments
     returning 
-      instance of type y 
+      instance of type y (not function type) 
     with parameter names
       i
     with parameter declarations
-      i: a signed int 
+      i: signed int 
     with body 
-      
-        Switch on condition: 
-            Name: i
+      CompoundStmt
+                  Switch on condition: Name: i
 
-            Case: 
-            .... and 1 conditions 
-                Name: 0
+              Case Name: 0
 
-            Case: 
-            .... and 0 conditions 
+                  Return Statement, returning: Name: q
+
+              Default 
+                  Return Statement, returning: Name: i
 
 
+
Index: src/Tests/SynTree/Expected/StructMember.tst
===================================================================
--- src/Tests/SynTree/Expected/StructMember.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected/StructMember.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,22 +1,23 @@
-T: a typedef for signed int 
+T: typedef for signed int 
 struct S
     with members
-      m1: a signed int 
-      m2: a signed int 
-      signed int 
-      signed int 
-      signed int 
-      m3: a signed int 
-      m4: a signed int 
-      m5: a signed int 
-      m6: a signed int 
-      m7: a pointer to signed int 
-      m8: a pointer to signed int 
-      m9: a pointer to signed int 
-      m10: a pointer to function
+      m1: signed int with bitfield width constant expression 3 signed int 
+      m2: signed int with bitfield width constant expression 4 signed int 
+      signed int with bitfield width constant expression 2 signed int 
+      signed int with bitfield width constant expression 3 signed int 
+      signed int with bitfield width constant expression 4 signed int 
+      m3: signed int 
+      m4: signed int 
+      m5: signed int 
+      m6: signed int 
+      m7: pointer to signed int 
+      m8: pointer to signed int 
+      m9: pointer to signed int 
+      m10: pointer to function
+            accepting unspecified arguments
           returning 
             signed int 
 
-      m11: a pointer to function
+      m11: pointer to function
           with parameters
             signed int 
@@ -24,9 +25,9 @@
             pointer to signed int 
 
-      T: a instance of type T 
-      T: a instance of type T 
-      m12: a pointer to signed int 
-      m13: a pointer to signed int 
-      m14: a pointer to function
+      T: instance of type T (not function type) 
+      T: instance of type T (not function type) 
+      m12: pointer to signed int 
+      m13: pointer to signed int 
+      m14: pointer to function
           with parameters
             signed int 
@@ -48,4 +49,5 @@
       pointer to signed int 
       pointer to function
+            accepting unspecified arguments
           returning 
             signed int 
@@ -57,13 +59,13 @@
             signed int 
 
-      instance of type T 
+      instance of type T (not function type) 
 
-s: a instance of struct S 
+s: instance of struct S 
 union U
     with members
-      m1: a open array of signed int 
-      m2: a open array of signed int 
-      m3: a pointer to signed int 
-      m4: a pointer to signed int 
+      m1: array of signed int with dimension of constant expression 5 signed int 
+      m2: array of signed int with dimension of constant expression 5 signed int 
+      m3: pointer to signed int 
+      m4: pointer to signed int 
 
-u: a instance of union U 
+u: instance of union U 
Index: src/Tests/SynTree/Expected/Tuple.tst
===================================================================
--- src/Tests/SynTree/Expected/Tuple.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected/Tuple.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,23 +1,23 @@
-f: a function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-g: a function
-    with parameters
-      signed int 
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-h: a static function
-    with parameters
-      a: a signed int 
-      b: a signed int 
-      c: a pointer to signed int 
-      d: a open array of char 
+f: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+g: function
+    with parameters
+      signed int 
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+h: static function
+    with parameters
+      a: signed int 
+      b: signed int 
+      c: pointer to signed int 
+      d: open array of char 
     returning 
       signed int 
@@ -28,52 +28,77 @@
 struct inner
     with members
-      f2: a signed int 
-      f3: a signed int 
+      f2: signed int 
+      f3: signed int 
 
 struct outer
     with members
-      f1: a signed int 
-      i: a instance of struct inner 
-      f4: a double 
-
-s: a instance of struct outer 
-sp: a pointer to instance of struct outer 
-t1: a const volatile tuple of types
+      f1: signed int 
+      i: instance of struct inner 
+      f4: double 
+
+s: instance of struct outer 
+sp: pointer to instance of struct outer 
+t1: const volatile tuple of types
     signed int 
     signed int 
 
-t2: a static const tuple of types
+t2: static const tuple of types
     signed int 
     const signed int 
 
-t3: a static const tuple of types
+t3: static const tuple of types
     signed int 
     const signed int 
 
-printf: a function
-    with parameters
-      fmt: a pointer to char 
+printf: function
+    with parameters
+      fmt: pointer to char 
       and a variable number of other arguments
     returning 
-      rc: a signed int 
-
-printf: a function
-    with parameters
-      fmt: a pointer to char 
+      rc: signed int 
+
+printf: function
+    with parameters
+      fmt: pointer to char 
       and a variable number of other arguments
     returning 
       signed int 
 
-f1: a function
-    with parameters
-      w: a signed int 
-    returning 
-      x: a short signed int 
-      y: a unsigned int 
+f1: function
+    with parameters
+      w: signed int 
+    returning 
+      x: short signed int 
+      y: unsigned int 
     with body 
-
-g1: a function
-    returning 
-      r: a tuple of types
+      CompoundStmt
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Tuple:
+                                          Name: y
+
+                                          Name: x
+
+                Applying untyped: 
+                    Name: ?=?
+                ...to: 
+                    Address of:
+                      Tuple:
+                                                  Name: x
+
+                                                  Name: y
+
+                    Tuple:
+                                              Name: w
+
+                      constant expression 23 signed int 
+
+
+g1: function
+    returning 
+      r: tuple of types
           signed int 
           char 
@@ -82,23 +107,407 @@
 
     with body 
-      Declaration of x: a short signed int 
-      Declaration of p: a short signed int 
-      Declaration of y: a unsigned int 
-      Declaration of z: a tuple of types
-          signed int 
-          signed int 
-
-
-main: a function
-    with parameters
-      argc: a signed int 
-      argv: a pointer to pointer to char 
-    returning 
-      rc: a signed int 
+      CompoundStmt
+        Declaration of x: short signed int 
+        Declaration of p: short signed int 
+        Declaration of y: unsigned int 
+        Declaration of z: tuple of types
+            signed int 
+            signed int 
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Tuple:
+                                          Name: x
+
+                                          Name: y
+
+                                          Name: z
+
+                Tuple:
+                                      Name: p
+
+                                      Applying untyped: 
+                        Name: f
+                    ...to: 
+constant expression 17 signed int 
+                  constant expression 3 signed int 
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Name: r
+                Tuple:
+                                      Name: x
+
+                                      Name: y
+
+                                      Name: z
+
+
+
+main: C function
+    with parameters
+      argc: signed int 
+      argv: pointer to pointer to char 
+    returning 
+      rc: signed int 
     with body 
-      Declaration of a: a signed int 
-      Declaration of b: a signed int 
-      Declaration of c: a signed int 
-      Declaration of d: a signed int 
-      Declaration of t: a instance of struct outer 
-
+      CompoundStmt
+        Declaration of a: signed int 
+        Declaration of b: signed int 
+        Declaration of c: signed int 
+        Declaration of d: signed int 
+        Declaration of t: instance of struct outer with initializer 
+          Compound initializer:  
+            Simple Initializer:               Tuple:
+                                  Name: 1
+
+                constant expression 7.0 double 
+
+              designated by:                 Name: f1
+                Name: f4
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: f
+            ...to: 
+                Tuple:
+                  constant expression 3 signed int 
+                  constant expression 5 signed int 
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: g
+            ...to: 
+                Tuple:
+                  constant expression 3 signed int 
+                  constant expression 5 signed int 
+constant expression 3 signed int 
+                  Expression Statement:
+            Applying untyped: 
+                Name: f
+            ...to: 
+                Name: t1
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: g
+            ...to: 
+                Name: t1
+constant expression 3 signed int 
+                  Expression Statement:
+            Tuple:
+              constant expression 3 signed int 
+              constant expression 5 signed int 
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Tuple:
+                                          Name: a
+
+                                          Name: b
+
+constant expression 3 signed int 
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Tuple:
+                                          Name: a
+
+                                          Name: b
+
+                Tuple:
+                  constant expression 4.6 double 
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Tuple:
+                                          Name: a
+
+                                          Name: b
+
+                Applying untyped: 
+                    Name: ?=?
+                ...to: 
+                    Address of:
+                      Tuple:
+                                                  Name: c
+
+                                                  Name: d
+
+                    Tuple:
+                      constant expression 3 signed int 
+                      constant expression 5 signed int 
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Tuple:
+                                          Name: a
+
+                                          Name: b
+
+                                          Tuple:
+                                                  Name: c
+
+
+                Tuple:
+                  constant expression 2 signed int 
+                                      Tuple:
+                                              Name: a
+
+                                              Name: b
+
+
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Tuple:
+                                          Name: a
+
+                                          Name: b
+
+                Conditional expression on: 
+                  Cast of:
+                    Applying untyped: 
+                        Name: ?!=?
+                    ...to: 
+                        Applying untyped: 
+                            Name: ?>?
+                        ...to: 
+constant expression 3 signed int constant expression 4 signed int                         Name: 0
+
+                  to:
+                    signed int 
+                First alternative:
+                  Tuple:
+                                          Name: b
+
+                    constant expression 6 signed int 
+                Second alternative:
+                  Tuple:
+                    constant expression 7 signed int 
+                    constant expression 8 signed int 
+
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Name: t1
+                Tuple:
+                                      Name: a
+
+                                      Name: b
+
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Name: t1
+                Applying untyped: 
+                    Name: ?=?
+                ...to: 
+                    Address of:
+                      Name: t2
+                    Tuple:
+                                              Name: a
+
+                                              Name: b
+
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Tuple:
+                                          Name: a
+
+                                          Name: b
+
+                Applying untyped: 
+                    Name: ?=?
+                ...to: 
+                    Address of:
+                      Tuple:
+                                                  Name: c
+
+                                                  Name: d
+
+                    Applying untyped: 
+                        Name: ?+=?
+                    ...to: 
+                        Address of:
+                          Name: d
+                        Applying untyped: 
+                            Name: ?+=?
+                        ...to: 
+                            Address of:
+                              Name: c
+                            Name: 1
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Tuple:
+                                          Name: a
+
+                                          Name: b
+
+                Applying untyped: 
+                    Name: ?=?
+                ...to: 
+                    Address of:
+                      Tuple:
+                                                  Name: c
+
+                                                  Name: d
+
+                    Name: t1
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Tuple:
+                                          Name: a
+
+                                          Name: b
+
+                Applying untyped: 
+                    Name: ?=?
+                ...to: 
+                    Address of:
+                      Name: t1
+                    Tuple:
+                                              Name: c
+
+                                              Name: d
+
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Tuple:
+                                          Name: a
+
+                                          Name: b
+
+                Applying untyped: 
+                    Name: ?=?
+                ...to: 
+                    Address of:
+                      Name: t1
+                    Applying untyped: 
+                        Name: ?=?
+                    ...to: 
+                        Address of:
+                          Name: t2
+                        Tuple:
+                                                      Name: c
+
+                                                      Name: d
+
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Name: t1
+                Applying untyped: 
+                    Name: ?=?
+                ...to: 
+                    Address of:
+                      Tuple:
+                        constant expression 3 signed int 
+                        constant expression 4 signed int 
+                    Applying untyped: 
+                        Name: ?=?
+                    ...to: 
+                        Address of:
+                          Tuple:
+                            constant expression 3 signed int 
+                            constant expression 4 signed int 
+                        Applying untyped: 
+                            Name: ?=?
+                        ...to: 
+                            Address of:
+                              Name: t1
+                            Tuple:
+                              constant expression 3 signed int 
+                              constant expression 4 signed int 
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Name: s
+                Tuple:
+                  constant expression 11 signed int 
+                  constant expression 12 signed int 
+                  constant expression 13 signed int 
+                  constant expression 3.14159 double 
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Name: s
+                Applying untyped: 
+                    Name: h
+                ...to: 
+constant expression 3 signed int constant expression 3 signed int                     Name: 0
+constant expression "abc" array of char with dimension of constant expression 6 unsigned int 
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Name: sp
+                Name: sp
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: printf
+            ...to: 
+constant expression "expecting 3, 17, 23, 4; got %d, %d, %d, %d\n" array of char with dimension of constant expression 47 unsigned int                 Name: s
+
+                  Expression Statement:
+            Applying untyped: 
+                Name: ?=?
+            ...to: 
+                Address of:
+                  Name: rc
+                Name: 0
+
+
Index: src/Tests/SynTree/Expected/TypeGenerator.tst
===================================================================
--- src/Tests/SynTree/Expected/TypeGenerator.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected/TypeGenerator.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,30 +1,30 @@
 context addable
     with parameters
-      T: a type
+      T: type
 
     with members
-      ?+?: a function
+      ?+?: function
           with parameters
-            instance of type T 
-            instance of type T 
+            instance of type T (not function type) 
+            instance of type T (not function type) 
           returning 
-            instance of type T 
+            instance of type T (not function type) 
 
 
 struct __anonymous0
     with members
-      data: a instance of type T 
-      next: a pointer to instance of type List 
+      data: instance of type T (not function type) 
+      next: pointer to instance of type List (not function type) 
         with parameters
-          instance of type T 
+          instance of type T (not function type) 
 
 
-List: a type for pointer to instance of struct __anonymous0 
+List: type for pointer to instance of struct __anonymous0 
   with parameters
-    T: a type
+    T: type
       with assertions
         instance of context addable 
           with parameters
-            instance of type T 
+            instance of type T (not function type) 
 
 
@@ -33,19 +33,19 @@
     instance of context addable 
       with parameters
-        instance of type T 
+        instance of type T (not function type) 
 
 
-ListOfIntegers: a typedef for instance of type List 
+ListOfIntegers: typedef for instance of type List (not function type) 
   with parameters
     signed int 
 
-li: a instance of type ListOfIntegers 
-f: a function
+li: instance of type ListOfIntegers (not function type) 
+f: function
     with parameters
-      g: a pointer to function
+      g: pointer to function
           with parameters
             signed int 
           returning 
-            instance of type List 
+            instance of type List (not function type) 
               with parameters
                 signed int 
@@ -55,7 +55,7 @@
       signed int 
 
-h: a function
+h: function
     with parameters
-      p: a pointer to instance of type List 
+      p: pointer to instance of type List (not function type) 
         with parameters
           signed int 
@@ -66,50 +66,51 @@
 struct node
     with parameters
-      T: a type
+      T: type
         with assertions
           instance of context addable 
             with parameters
-              instance of type T 
+              instance of type T (not function type) 
 
 
 
     with members
-      data: a instance of type T 
-      next: a pointer to instance of struct node 
+      data: instance of type T (not function type) 
+      next: pointer to instance of struct node 
         with parameters
-          instance of type T 
+          instance of type T (not function type) 
 
 
-List: a type for pointer to instance of struct node 
+List: type for pointer to instance of struct node 
   with parameters
-    instance of type T 
+    instance of type T (not function type) 
 
   with parameters
-    T: a type
+    T: type
 
-my_list: a instance of type List 
+my_list: instance of type List (not function type) 
   with parameters
     signed int 
 
-Complex: a type
+Complex: type
   with assertions
     instance of context addable 
       with parameters
-        instance of type Complex 
+        instance of type Complex (not function type) 
 
 
-main: a function
+main: C function
+      accepting unspecified arguments
     returning 
       signed int 
     with body 
-      
-        Expression Statement:
-          Cast of:
-            Name: my_list
+      CompoundStmt
+                  Expression Statement:
+            Cast of:
+              Name: my_list
 
-          to:
-            instance of struct node 
-              with parameters
-                signed int 
+            to:
+              instance of struct node 
+                with parameters
+                  signed int 
 
 
Index: src/Tests/SynTree/Expected/Typedef.tst
===================================================================
--- src/Tests/SynTree/Expected/Typedef.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected/Typedef.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,4 +1,4 @@
-T: a typedef for signed int 
-f: a function
+T: typedef for signed int 
+f: function
     with parameters
       void 
@@ -6,17 +6,25 @@
       void 
     with body 
-      Declaration of T: a function
-          with parameters
-            instance of type T 
-          returning 
-            signed int 
+      CompoundStmt
+        Declaration of T: function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              signed int 
 
+                  Expression Statement:
+            Applying untyped: 
+                Name: T
+            ...to: 
+constant expression 3 signed int 
 
 struct __anonymous0
     with members
-      T: a instance of type T 
+      T: instance of type T (not function type) 
 
-fred: a instance of struct __anonymous0 
-a: a typedef for pointer to function
+fred: instance of struct __anonymous0 with initializer 
+  Compound initializer:  
+    Simple Initializer: constant expression 3 signed int 
+a: typedef for pointer to function
     with parameters
       signed int 
@@ -25,6 +33,6 @@
       signed int 
 
-b: a instance of type a 
-g: a function
+b: instance of type a (not function type) 
+g: function
     with parameters
       void 
@@ -32,16 +40,19 @@
       signed int 
     with body 
-      Declaration of a: a double 
+      CompoundStmt
+        Declaration of a: double 
 
-c: a instance of type a 
-main: a function
+c: instance of type a (not function type) 
+main: C function
+      accepting unspecified arguments
     returning 
       signed int 
     with body 
+      CompoundStmt
 
-arrayOf10Pointers: a typedef for open array of pointer to signed int 
-x: a instance of type arrayOf10Pointers 
-constantPointer: a typedef for const pointer to signed int 
-funcPtr: a typedef for pointer to function
+arrayOf10Pointers: typedef for array of pointer to signed int with dimension of constant expression 10 signed int 
+x: instance of type arrayOf10Pointers (not function type) 
+constantPointer: typedef for const pointer to signed int 
+funcPtr: typedef for pointer to function
     with parameters
       open array of signed int 
@@ -49,5 +60,5 @@
       signed int 
 
-funcProto: a typedef for function
+funcProto: typedef for function
     with parameters
       open array of signed int 
@@ -55,15 +66,15 @@
       signed int 
 
-tupleType: a typedef for tuple of types
+tupleType: typedef for tuple of types
     signed int 
     signed int 
 
-tupleTypePtr: a typedef for pointer to tuple of types
+tupleTypePtr: typedef for pointer to tuple of types
     signed int 
     signed int 
 
-a: a typedef for pointer to signed int 
-b: a typedef for pointer to signed int 
-f: a typedef for function
+a: typedef for pointer to signed int 
+b: typedef for pointer to signed int 
+f: typedef for function
     with parameters
       pointer to signed int 
@@ -71,5 +82,5 @@
       signed int 
 
-g: a typedef for function
+g: typedef for function
     with parameters
       pointer to signed int 
@@ -77,9 +88,9 @@
       signed int 
 
-t: a typedef for tuple of types
-    pointer to static open array of signed int 
+t: typedef for tuple of types
+    pointer to static array of signed int with dimension of constant expression 10 signed int 
 
-f: a typedef for function
+f: typedef for function
     returning 
-      x: a pointer to static open array of signed int 
+      x: pointer to static array of signed int with dimension of constant expression 10 signed int 
 
Index: src/Tests/SynTree/Expected/TypedefDeclarator.tst
===================================================================
--- src/Tests/SynTree/Expected/TypedefDeclarator.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected/TypedefDeclarator.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,270 +1,275 @@
-f0: a typedef for signed int 
-f1: a typedef for signed int 
-f2: a typedef for signed int 
-f3: a typedef for signed int 
-f4: a typedef for signed int 
-f5: a typedef for signed int 
-f6: a typedef for signed int 
-f7: a typedef for signed int 
-f8: a typedef for signed int 
-f9: a typedef for signed int 
-f10: a typedef for signed int 
-f11: a typedef for signed int 
-f12: a typedef for signed int 
-f13: a typedef for signed int 
-f14: a typedef for signed int 
-f15: a typedef for signed int 
-f16: a typedef for signed int 
-f17: a typedef for signed int 
-f18: a typedef for signed int 
-f19: a typedef for signed int 
-f20: a typedef for signed int 
-f21: a typedef for signed int 
-f22: a typedef for signed int 
-f23: a typedef for signed int 
-f24: a typedef for signed int 
-f25: a typedef for signed int 
-f26: a typedef for signed int 
-f27: a typedef for signed int 
-f28: a typedef for signed int 
-f29: a typedef for signed int 
-f30: a typedef for signed int 
-f31: a typedef for signed int 
-f32: a typedef for signed int 
-f33: a typedef for signed int 
-f34: a typedef for signed int 
-f35: a typedef for signed int 
-f36: a typedef for signed int 
-f37: a typedef for signed int 
-f38: a typedef for signed int 
-f39: a typedef for signed int 
-f40: a typedef for signed int 
-f41: a typedef for signed int 
-f42: a typedef for signed int 
-f43: a typedef for signed int 
-f44: a typedef for signed int 
-f45: a typedef for signed int 
-f46: a typedef for signed int 
-f47: a typedef for signed int 
-f48: a typedef for signed int 
-f49: a typedef for signed int 
-f50: a typedef for signed int 
-f51: a typedef for signed int 
-f52: a typedef for signed int 
-f53: a typedef for signed int 
-f54: a typedef for signed int 
-f55: a typedef for signed int 
-f56: a typedef for signed int 
-f57: a typedef for signed int 
-f58: a typedef for signed int 
-f59: a typedef for signed int 
-f60: a typedef for signed int 
-f61: a typedef for signed int 
-f62: a typedef for signed int 
-f63: a typedef for signed int 
-f64: a typedef for signed int 
-f65: a typedef for signed int 
-f66: a typedef for signed int 
-f67: a typedef for signed int 
-f68: a typedef for signed int 
-f69: a typedef for signed int 
-f70: a typedef for signed int 
-f71: a typedef for signed int 
-f72: a typedef for signed int 
-f73: a typedef for signed int 
-f74: a typedef for signed int 
-f75: a typedef for signed int 
-f76: a typedef for signed int 
-f77: a typedef for signed int 
-f78: a typedef for signed int 
-f79: a typedef for signed int 
-f80: a typedef for signed int 
-f81: a typedef for signed int 
-f82: a typedef for signed int 
-f83: a typedef for signed int 
-f84: a typedef for signed int 
-f85: a typedef for signed int 
-f86: a typedef for signed int 
-f87: a typedef for signed int 
-f88: a typedef for signed int 
-f89: a typedef for signed int 
-main: a function
+f0: typedef for signed int 
+f1: typedef for signed int 
+f2: typedef for signed int 
+f3: typedef for signed int 
+f4: typedef for signed int 
+f5: typedef for signed int 
+f6: typedef for signed int 
+f7: typedef for signed int 
+f8: typedef for signed int 
+f9: typedef for signed int 
+f10: typedef for signed int 
+f11: typedef for signed int 
+f12: typedef for signed int 
+f13: typedef for signed int 
+f14: typedef for signed int 
+f15: typedef for signed int 
+f16: typedef for signed int 
+f17: typedef for signed int 
+f18: typedef for signed int 
+f19: typedef for signed int 
+f20: typedef for signed int 
+f21: typedef for signed int 
+f22: typedef for signed int 
+f23: typedef for signed int 
+f24: typedef for signed int 
+f25: typedef for signed int 
+f26: typedef for signed int 
+f27: typedef for signed int 
+f28: typedef for signed int 
+f29: typedef for signed int 
+f30: typedef for signed int 
+f31: typedef for signed int 
+f32: typedef for signed int 
+f33: typedef for signed int 
+f34: typedef for signed int 
+f35: typedef for signed int 
+f36: typedef for signed int 
+f37: typedef for signed int 
+f38: typedef for signed int 
+f39: typedef for signed int 
+f40: typedef for signed int 
+f41: typedef for signed int 
+f42: typedef for signed int 
+f43: typedef for signed int 
+f44: typedef for signed int 
+f45: typedef for signed int 
+f46: typedef for signed int 
+f47: typedef for signed int 
+f48: typedef for signed int 
+f49: typedef for signed int 
+f50: typedef for signed int 
+f51: typedef for signed int 
+f52: typedef for signed int 
+f53: typedef for signed int 
+f54: typedef for signed int 
+f55: typedef for signed int 
+f56: typedef for signed int 
+f57: typedef for signed int 
+f58: typedef for signed int 
+f59: typedef for signed int 
+f60: typedef for signed int 
+f61: typedef for signed int 
+f62: typedef for signed int 
+f63: typedef for signed int 
+f64: typedef for signed int 
+f65: typedef for signed int 
+f66: typedef for signed int 
+f67: typedef for signed int 
+f68: typedef for signed int 
+f69: typedef for signed int 
+f70: typedef for signed int 
+f71: typedef for signed int 
+f72: typedef for signed int 
+f73: typedef for signed int 
+f74: typedef for signed int 
+f75: typedef for signed int 
+f76: typedef for signed int 
+f77: typedef for signed int 
+f78: typedef for signed int 
+f79: typedef for signed int 
+f80: typedef for signed int 
+f81: typedef for signed int 
+f82: typedef for signed int 
+f83: typedef for signed int 
+f84: typedef for signed int 
+f85: typedef for signed int 
+f86: typedef for signed int 
+f87: typedef for signed int 
+f88: typedef for signed int 
+f89: typedef for signed int 
+main: C function
+      accepting unspecified arguments
     returning 
       signed int 
     with body 
-      Declaration of f1: a signed int 
-      Declaration of f2: a signed int 
-      Declaration of f3: a pointer to signed int 
-      Declaration of f4: a pointer to pointer to signed int 
-      Declaration of f5: a pointer to const pointer to signed int 
-      Declaration of f6: a const pointer to const pointer to signed int 
-      Declaration of f7: a pointer to signed int 
-      Declaration of f8: a pointer to pointer to signed int 
-      Declaration of f9: a pointer to const pointer to signed int 
-      Declaration of f10: a const pointer to const pointer to signed int 
-      Declaration of f11: a pointer to signed int 
-      Declaration of f12: a pointer to pointer to signed int 
-      Declaration of f13: a pointer to const pointer to signed int 
-      Declaration of f14: a const pointer to const pointer to signed int 
-      Declaration of f15: a open array of signed int 
-      Declaration of f16: a open array of signed int 
-      Declaration of f17: a open array of signed int 
-      Declaration of f18: a open array of signed int 
-      Declaration of f19: a open array of pointer to signed int 
-      Declaration of f20: a open array of pointer to signed int 
-      Declaration of f21: a open array of pointer to pointer to signed int 
-      Declaration of f22: a open array of pointer to pointer to signed int 
-      Declaration of f23: a open array of pointer to const pointer to signed int 
-      Declaration of f24: a open array of pointer to const pointer to signed int 
-      Declaration of f25: a open array of const pointer to const pointer to signed int 
-      Declaration of f26: a open array of const pointer to const pointer to signed int 
-      Declaration of f27: a open array of pointer to signed int 
-      Declaration of f28: a open array of pointer to signed int 
-      Declaration of f29: a open array of pointer to pointer to signed int 
-      Declaration of f30: a open array of pointer to pointer to signed int 
-      Declaration of f31: a open array of pointer to const pointer to signed int 
-      Declaration of f32: a open array of pointer to const pointer to signed int 
-      Declaration of f33: a open array of const pointer to const pointer to signed int 
-      Declaration of f34: a open array of const pointer to const pointer to signed int 
-      Declaration of f35: a open array of pointer to signed int 
-      Declaration of f36: a open array of pointer to signed int 
-      Declaration of f37: a open array of pointer to pointer to signed int 
-      Declaration of f38: a open array of pointer to pointer to signed int 
-      Declaration of f39: a open array of pointer to const pointer to signed int 
-      Declaration of f40: a open array of pointer to const pointer to signed int 
-      Declaration of f41: a open array of const pointer to const pointer to signed int 
-      Declaration of f42: a open array of const pointer to const pointer to signed int 
-      Declaration of f43: a open array of open array of signed int 
-      Declaration of f44: a open array of open array of signed int 
-      Declaration of f45: a open array of open array of signed int 
-      Declaration of f46: a open array of open array of signed int 
-      Declaration of f47: a open array of open array of signed int 
-      Declaration of f48: a open array of open array of signed int 
-      Declaration of f49: a open array of open array of pointer to signed int 
-      Declaration of f50: a open array of open array of pointer to signed int 
-      Declaration of f51: a open array of open array of pointer to pointer to signed int 
-      Declaration of f52: a open array of open array of pointer to pointer to signed int 
-      Declaration of f53: a open array of open array of pointer to const pointer to signed int 
-      Declaration of f54: a open array of open array of pointer to const pointer to signed int 
-      Declaration of f55: a open array of open array of const pointer to const pointer to signed int 
-      Declaration of f56: a open array of open array of const pointer to const pointer to signed int 
-      Declaration of f57: a open array of open array of pointer to signed int 
-      Declaration of f58: a open array of open array of pointer to signed int 
-      Declaration of f59: a open array of open array of pointer to pointer to signed int 
-      Declaration of f60: a open array of open array of pointer to pointer to signed int 
-      Declaration of f61: a open array of open array of pointer to const pointer to signed int 
-      Declaration of f62: a open array of open array of pointer to const pointer to signed int 
-      Declaration of f63: a open array of open array of const pointer to const pointer to signed int 
-      Declaration of f64: a open array of open array of const pointer to const pointer to signed int 
-      Declaration of f65: a function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      Declaration of f66: a function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      Declaration of f67: a function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      Declaration of f68: a function
-          with parameters
-            signed int 
-          returning 
-            pointer to pointer to signed int 
-
-      Declaration of f69: a function
-          with parameters
-            signed int 
-          returning 
-            pointer to const pointer to signed int 
-
-      Declaration of f70: a function
-          with parameters
-            signed int 
-          returning 
-            const pointer to const pointer to signed int 
-
-      Declaration of f71: a function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      Declaration of f72: a function
-          with parameters
-            signed int 
-          returning 
-            pointer to pointer to signed int 
-
-      Declaration of f73: a function
-          with parameters
-            signed int 
-          returning 
-            pointer to const pointer to signed int 
-
-      Declaration of f74: a function
-          with parameters
-            signed int 
-          returning 
-            const pointer to const pointer to signed int 
-
-      Declaration of f75: a pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      Declaration of f76: a pointer to pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      Declaration of f77: a pointer to const pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      Declaration of f78: a const pointer to const pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      Declaration of f79: a pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to function
-                returning 
-                  signed int 
-
-
-      Declaration of f80: a const pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to function
-                returning 
-                  signed int 
-
-
-      Declaration of f81: a const pointer to function
-          with parameters
-            signed int 
-          returning 
-            const pointer to function
-                returning 
-                  signed int 
-
-
-
+      CompoundStmt
+        Declaration of f1: signed int 
+        Declaration of f2: signed int 
+        Declaration of f3: pointer to signed int 
+        Declaration of f4: pointer to pointer to signed int 
+        Declaration of f5: pointer to const pointer to signed int 
+        Declaration of f6: const pointer to const pointer to signed int 
+        Declaration of f7: pointer to signed int 
+        Declaration of f8: pointer to pointer to signed int 
+        Declaration of f9: pointer to const pointer to signed int 
+        Declaration of f10: const pointer to const pointer to signed int 
+        Declaration of f11: pointer to signed int 
+        Declaration of f12: pointer to pointer to signed int 
+        Declaration of f13: pointer to const pointer to signed int 
+        Declaration of f14: const pointer to const pointer to signed int 
+        Declaration of f15: open array of signed int 
+        Declaration of f16: array of signed int with dimension of constant expression 10 signed int 
+        Declaration of f17: open array of signed int 
+        Declaration of f18: array of signed int with dimension of constant expression 10 signed int 
+        Declaration of f19: open array of pointer to signed int 
+        Declaration of f20: array of pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f21: open array of pointer to pointer to signed int 
+        Declaration of f22: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f23: open array of pointer to const pointer to signed int 
+        Declaration of f24: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f25: open array of const pointer to const pointer to signed int 
+        Declaration of f26: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f27: open array of pointer to signed int 
+        Declaration of f28: array of pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f29: open array of pointer to pointer to signed int 
+        Declaration of f30: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f31: open array of pointer to const pointer to signed int 
+        Declaration of f32: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f33: open array of const pointer to const pointer to signed int 
+        Declaration of f34: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f35: open array of pointer to signed int 
+        Declaration of f36: array of pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f37: open array of pointer to pointer to signed int 
+        Declaration of f38: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f39: open array of pointer to const pointer to signed int 
+        Declaration of f40: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f41: open array of const pointer to const pointer to signed int 
+        Declaration of f42: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+        Declaration of f43: open array of array of signed int with dimension of constant expression 3 signed int 
+        Declaration of f44: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f45: open array of array of signed int with dimension of constant expression 3 signed int 
+        Declaration of f46: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f47: open array of array of signed int with dimension of constant expression 3 signed int 
+        Declaration of f48: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f49: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
+        Declaration of f50: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f51: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
+        Declaration of f52: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f53: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
+        Declaration of f54: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f55: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
+        Declaration of f56: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f57: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
+        Declaration of f58: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f59: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
+        Declaration of f60: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f61: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
+        Declaration of f62: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f63: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
+        Declaration of f64: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+        Declaration of f65: function
+            with parameters
+              signed int 
+            returning 
+              signed int 
+
+        Declaration of f66: function
+            with parameters
+              signed int 
+            returning 
+              signed int 
+
+        Declaration of f67: function
+            with parameters
+              signed int 
+            returning 
+              pointer to signed int 
+
+        Declaration of f68: function
+            with parameters
+              signed int 
+            returning 
+              pointer to pointer to signed int 
+
+        Declaration of f69: function
+            with parameters
+              signed int 
+            returning 
+              pointer to const pointer to signed int 
+
+        Declaration of f70: function
+            with parameters
+              signed int 
+            returning 
+              const pointer to const pointer to signed int 
+
+        Declaration of f71: function
+            with parameters
+              signed int 
+            returning 
+              pointer to signed int 
+
+        Declaration of f72: function
+            with parameters
+              signed int 
+            returning 
+              pointer to pointer to signed int 
+
+        Declaration of f73: function
+            with parameters
+              signed int 
+            returning 
+              pointer to const pointer to signed int 
+
+        Declaration of f74: function
+            with parameters
+              signed int 
+            returning 
+              const pointer to const pointer to signed int 
+
+        Declaration of f75: pointer to function
+            with parameters
+              signed int 
+            returning 
+              signed int 
+
+        Declaration of f76: pointer to pointer to function
+            with parameters
+              signed int 
+            returning 
+              signed int 
+
+        Declaration of f77: pointer to const pointer to function
+            with parameters
+              signed int 
+            returning 
+              signed int 
+
+        Declaration of f78: const pointer to const pointer to function
+            with parameters
+              signed int 
+            returning 
+              signed int 
+
+        Declaration of f79: pointer to function
+            with parameters
+              signed int 
+            returning 
+              pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+
+        Declaration of f80: const pointer to function
+            with parameters
+              signed int 
+            returning 
+              pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+
+        Declaration of f81: const pointer to function
+            with parameters
+              signed int 
+            returning 
+              const pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+
+
Index: src/Tests/SynTree/Expected/TypedefParamDeclarator.tst
===================================================================
--- src/Tests/SynTree/Expected/TypedefParamDeclarator.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected/TypedefParamDeclarator.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,182 +1,182 @@
-f0: a typedef for signed int 
-f1: a typedef for signed int 
-f2: a typedef for signed int 
-f3: a typedef for signed int 
-f4: a typedef for signed int 
-f5: a typedef for signed int 
-f6: a typedef for signed int 
-f7: a typedef for signed int 
-f8: a typedef for signed int 
-f9: a typedef for signed int 
-f10: a typedef for signed int 
-f11: a typedef for signed int 
-f12: a typedef for signed int 
-f13: a typedef for signed int 
-f14: a typedef for signed int 
-f15: a typedef for signed int 
-f16: a typedef for signed int 
-f17: a typedef for signed int 
-f18: a typedef for signed int 
-f19: a typedef for signed int 
-f20: a typedef for signed int 
-f21: a typedef for signed int 
-f22: a typedef for signed int 
-f23: a typedef for signed int 
-f24: a typedef for signed int 
-f25: a typedef for signed int 
-f26: a typedef for signed int 
-f27: a typedef for signed int 
-f28: a typedef for signed int 
-f29: a typedef for signed int 
-f30: a typedef for signed int 
-f31: a typedef for signed int 
-f32: a typedef for signed int 
-f33: a typedef for signed int 
-f34: a typedef for signed int 
-f35: a typedef for signed int 
-f36: a typedef for signed int 
-f37: a typedef for signed int 
-f38: a typedef for signed int 
-f39: a typedef for signed int 
-f40: a typedef for signed int 
-f41: a typedef for signed int 
-f42: a typedef for signed int 
-f43: a typedef for signed int 
-f44: a typedef for signed int 
-f45: a typedef for signed int 
-f46: a typedef for signed int 
-f47: a typedef for signed int 
-f48: a typedef for signed int 
-f49: a typedef for signed int 
-f50: a typedef for signed int 
-f51: a typedef for signed int 
-f52: a typedef for signed int 
-f53: a typedef for signed int 
-f54: a typedef for signed int 
-f55: a typedef for signed int 
-f56: a typedef for signed int 
-f57: a typedef for signed int 
-f58: a typedef for signed int 
-f59: a typedef for signed int 
-f60: a typedef for signed int 
-f61: a typedef for signed int 
-f62: a typedef for signed int 
-f63: a typedef for signed int 
-f64: a typedef for signed int 
-f65: a typedef for signed int 
-f66: a typedef for signed int 
-f67: a typedef for signed int 
-f68: a typedef for signed int 
-f69: a typedef for signed int 
-f70: a typedef for signed int 
-f71: a typedef for signed int 
-f72: a typedef for signed int 
-f73: a typedef for signed int 
-f74: a typedef for signed int 
-f75: a typedef for signed int 
-f76: a typedef for signed int 
-f77: a typedef for signed int 
-f78: a typedef for signed int 
-f79: a typedef for signed int 
-f80: a typedef for signed int 
-f81: a typedef for signed int 
-f82: a typedef for signed int 
-f83: a typedef for signed int 
-f84: a typedef for signed int 
-f85: a typedef for signed int 
-f86: a typedef for signed int 
-f87: a typedef for signed int 
-f88: a typedef for signed int 
-f89: a typedef for signed int 
-f90: a typedef for signed int 
-f91: a typedef for signed int 
-f92: a typedef for signed int 
-f93: a typedef for signed int 
-f94: a typedef for signed int 
-f95: a typedef for signed int 
-f96: a typedef for signed int 
-f97: a typedef for signed int 
-f98: a typedef for signed int 
-f99: a typedef for signed int 
-f100: a typedef for signed int 
-f101: a typedef for signed int 
-f102: a typedef for signed int 
-f103: a typedef for signed int 
-f104: a typedef for signed int 
-f105: a typedef for signed int 
-f106: a typedef for signed int 
-f107: a typedef for signed int 
-f108: a typedef for signed int 
-f109: a typedef for signed int 
-f110: a typedef for signed int 
-f111: a typedef for signed int 
-f112: a typedef for signed int 
-f113: a typedef for signed int 
-f114: a typedef for signed int 
-f115: a typedef for signed int 
-f116: a typedef for signed int 
-f117: a typedef for signed int 
-f118: a typedef for signed int 
-f119: a typedef for signed int 
-fred: a function
+f0: typedef for signed int 
+f1: typedef for signed int 
+f2: typedef for signed int 
+f3: typedef for signed int 
+f4: typedef for signed int 
+f5: typedef for signed int 
+f6: typedef for signed int 
+f7: typedef for signed int 
+f8: typedef for signed int 
+f9: typedef for signed int 
+f10: typedef for signed int 
+f11: typedef for signed int 
+f12: typedef for signed int 
+f13: typedef for signed int 
+f14: typedef for signed int 
+f15: typedef for signed int 
+f16: typedef for signed int 
+f17: typedef for signed int 
+f18: typedef for signed int 
+f19: typedef for signed int 
+f20: typedef for signed int 
+f21: typedef for signed int 
+f22: typedef for signed int 
+f23: typedef for signed int 
+f24: typedef for signed int 
+f25: typedef for signed int 
+f26: typedef for signed int 
+f27: typedef for signed int 
+f28: typedef for signed int 
+f29: typedef for signed int 
+f30: typedef for signed int 
+f31: typedef for signed int 
+f32: typedef for signed int 
+f33: typedef for signed int 
+f34: typedef for signed int 
+f35: typedef for signed int 
+f36: typedef for signed int 
+f37: typedef for signed int 
+f38: typedef for signed int 
+f39: typedef for signed int 
+f40: typedef for signed int 
+f41: typedef for signed int 
+f42: typedef for signed int 
+f43: typedef for signed int 
+f44: typedef for signed int 
+f45: typedef for signed int 
+f46: typedef for signed int 
+f47: typedef for signed int 
+f48: typedef for signed int 
+f49: typedef for signed int 
+f50: typedef for signed int 
+f51: typedef for signed int 
+f52: typedef for signed int 
+f53: typedef for signed int 
+f54: typedef for signed int 
+f55: typedef for signed int 
+f56: typedef for signed int 
+f57: typedef for signed int 
+f58: typedef for signed int 
+f59: typedef for signed int 
+f60: typedef for signed int 
+f61: typedef for signed int 
+f62: typedef for signed int 
+f63: typedef for signed int 
+f64: typedef for signed int 
+f65: typedef for signed int 
+f66: typedef for signed int 
+f67: typedef for signed int 
+f68: typedef for signed int 
+f69: typedef for signed int 
+f70: typedef for signed int 
+f71: typedef for signed int 
+f72: typedef for signed int 
+f73: typedef for signed int 
+f74: typedef for signed int 
+f75: typedef for signed int 
+f76: typedef for signed int 
+f77: typedef for signed int 
+f78: typedef for signed int 
+f79: typedef for signed int 
+f80: typedef for signed int 
+f81: typedef for signed int 
+f82: typedef for signed int 
+f83: typedef for signed int 
+f84: typedef for signed int 
+f85: typedef for signed int 
+f86: typedef for signed int 
+f87: typedef for signed int 
+f88: typedef for signed int 
+f89: typedef for signed int 
+f90: typedef for signed int 
+f91: typedef for signed int 
+f92: typedef for signed int 
+f93: typedef for signed int 
+f94: typedef for signed int 
+f95: typedef for signed int 
+f96: typedef for signed int 
+f97: typedef for signed int 
+f98: typedef for signed int 
+f99: typedef for signed int 
+f100: typedef for signed int 
+f101: typedef for signed int 
+f102: typedef for signed int 
+f103: typedef for signed int 
+f104: typedef for signed int 
+f105: typedef for signed int 
+f106: typedef for signed int 
+f107: typedef for signed int 
+f108: typedef for signed int 
+f109: typedef for signed int 
+f110: typedef for signed int 
+f111: typedef for signed int 
+f112: typedef for signed int 
+f113: typedef for signed int 
+f114: typedef for signed int 
+f115: typedef for signed int 
+f116: typedef for signed int 
+f117: typedef for signed int 
+f118: typedef for signed int 
+f119: typedef for signed int 
+fred: function
     with parameters
-      f1: a signed int 
-      f3: a pointer to signed int 
-      f4: a pointer to pointer to signed int 
-      f5: a pointer to const pointer to signed int 
-      f6: a const pointer to const pointer to signed int 
-      f11: a pointer to signed int 
-      f12: a pointer to pointer to signed int 
-      f13: a pointer to const pointer to signed int 
-      f14: a const pointer to const pointer to signed int 
-      f15: a open array of signed int 
-      f16: a open array of signed int 
-      f19: a open array of pointer to signed int 
-      f20: a open array of pointer to signed int 
-      f21: a open array of pointer to pointer to signed int 
-      f22: a open array of pointer to pointer to signed int 
-      f23: a open array of pointer to const pointer to signed int 
-      f24: a open array of pointer to const pointer to signed int 
-      f25: a open array of const pointer to const pointer to signed int 
-      f26: a open array of const pointer to const pointer to signed int 
-      f35: a open array of pointer to signed int 
-      f36: a open array of pointer to signed int 
-      f37: a open array of pointer to pointer to signed int 
-      f38: a open array of pointer to pointer to signed int 
-      f39: a open array of pointer to const pointer to signed int 
-      f40: a open array of pointer to const pointer to signed int 
-      f41: a open array of const pointer to const pointer to signed int 
-      f42: a open array of const pointer to const pointer to signed int 
-      f43: a open array of open array of signed int 
-      f44: a open array of open array of signed int 
-      f49: a open array of open array of pointer to signed int 
-      f50: a open array of open array of pointer to signed int 
-      f51: a open array of open array of pointer to pointer to signed int 
-      f52: a open array of open array of pointer to pointer to signed int 
-      f53: a open array of open array of pointer to const pointer to signed int 
-      f54: a open array of open array of pointer to const pointer to signed int 
-      f55: a open array of open array of const pointer to const pointer to signed int 
-      f56: a open array of open array of const pointer to const pointer to signed int 
-      f57: a open array of open array of pointer to signed int 
-      f58: a open array of open array of pointer to signed int 
-      f59: a open array of open array of pointer to pointer to signed int 
-      f60: a open array of open array of pointer to pointer to signed int 
-      f61: a open array of open array of pointer to const pointer to signed int 
-      f62: a open array of open array of pointer to const pointer to signed int 
-      f63: a open array of open array of const pointer to const pointer to signed int 
-      f64: a open array of open array of const pointer to const pointer to signed int 
-      f65: a function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f67: a function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      f68: a function
+      f1: signed int 
+      f3: pointer to signed int 
+      f4: pointer to pointer to signed int 
+      f5: pointer to const pointer to signed int 
+      f6: const pointer to const pointer to signed int 
+      f11: pointer to signed int 
+      f12: pointer to pointer to signed int 
+      f13: pointer to const pointer to signed int 
+      f14: const pointer to const pointer to signed int 
+      f15: open array of signed int 
+      f16: array of signed int with dimension of constant expression 10 signed int 
+      f19: open array of pointer to signed int 
+      f20: array of pointer to signed int with dimension of constant expression 10 signed int 
+      f21: open array of pointer to pointer to signed int 
+      f22: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
+      f23: open array of pointer to const pointer to signed int 
+      f24: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+      f25: open array of const pointer to const pointer to signed int 
+      f26: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+      f35: open array of pointer to signed int 
+      f36: array of pointer to signed int with dimension of constant expression 10 signed int 
+      f37: open array of pointer to pointer to signed int 
+      f38: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
+      f39: open array of pointer to const pointer to signed int 
+      f40: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+      f41: open array of const pointer to const pointer to signed int 
+      f42: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+      f43: open array of array of signed int with dimension of constant expression 3 signed int 
+      f44: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+      f49: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
+      f50: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+      f51: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
+      f52: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+      f53: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
+      f54: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+      f55: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
+      f56: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+      f57: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
+      f58: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+      f59: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
+      f60: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+      f61: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
+      f62: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+      f63: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
+      f64: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+      f65: function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      f67: function
+          with parameters
+            signed int 
+          returning 
+            pointer to signed int 
+
+      f68: function
           with parameters
             signed int 
@@ -184,5 +184,5 @@
             pointer to pointer to signed int 
 
-      f69: a function
+      f69: function
           with parameters
             signed int 
@@ -190,5 +190,5 @@
             pointer to const pointer to signed int 
 
-      f70: a function
+      f70: function
           with parameters
             signed int 
@@ -196,103 +196,106 @@
             const pointer to const pointer to signed int 
 
-      f75: a pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f76: a pointer to pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f77: a pointer to const pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f78: a const pointer to const pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f79: a pointer to function
+      f75: pointer to function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      f76: pointer to pointer to function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      f77: pointer to const pointer to function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      f78: const pointer to const pointer to function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      f79: pointer to function
           with parameters
             signed int 
           returning 
             pointer to function
+                  accepting unspecified arguments
                 returning 
                   signed int 
 
 
-      f80: a const pointer to function
+      f80: const pointer to function
           with parameters
             signed int 
           returning 
             pointer to function
+                  accepting unspecified arguments
                 returning 
                   signed int 
 
 
-      f81: a const pointer to function
+      f81: const pointer to function
           with parameters
             signed int 
           returning 
             const pointer to function
+                  accepting unspecified arguments
                 returning 
                   signed int 
 
 
-      f82: a const variable length array of signed int 
-      f83: a const open array of signed int 
-      f84: a static open array of signed int 
-      f85: a const static open array of signed int 
-      function
-          with parameters
-            const variable length array of instance of type f86 
-          returning 
-            signed int 
-
-      function
-          with parameters
-            const open array of instance of type f87 
-          returning 
-            signed int 
-
-      function
-          with parameters
-            static open array of instance of type f88 
-          returning 
-            signed int 
-
-      function
-          with parameters
-            const static open array of instance of type f89 
-          returning 
-            signed int 
-
-      f90: a const variable length array of pointer to signed int 
-      f91: a const open array of pointer to signed int 
-      f92: a static open array of pointer to pointer to signed int 
-      f93: a const static open array of pointer to const pointer to signed int 
-      f94: a const static open array of const pointer to const pointer to signed int 
-      function
-          with parameters
-            const variable length array of instance of type f95 
-          returning 
-            pointer to signed int 
-
-      function
-          with parameters
-            const open array of instance of type f96 
-          returning 
-            pointer to signed int 
-
-      function
-          with parameters
-            static open array of instance of type f97 
+      f82: const variable length array of signed int 
+      f83: const array of signed int with dimension of constant expression 3 signed int 
+      f84: static array of signed int with dimension of constant expression 3 signed int 
+      f85: const static array of signed int with dimension of constant expression 3 signed int 
+      function
+          with parameters
+            const variable length array of instance of type f86 (not function type) 
+          returning 
+            signed int 
+
+      function
+          with parameters
+            const array of instance of type f87 (not function type) with dimension of constant expression 3 signed int 
+          returning 
+            signed int 
+
+      function
+          with parameters
+            static array of instance of type f88 (not function type) with dimension of constant expression 3 signed int 
+          returning 
+            signed int 
+
+      function
+          with parameters
+            const static array of instance of type f89 (not function type) with dimension of constant expression 3 signed int 
+          returning 
+            signed int 
+
+      f90: const variable length array of pointer to signed int 
+      f91: const array of pointer to signed int with dimension of constant expression 3 signed int 
+      f92: static array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
+      f93: const static array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
+      f94: const static array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
+      function
+          with parameters
+            const variable length array of instance of type f95 (not function type) 
+          returning 
+            pointer to signed int 
+
+      function
+          with parameters
+            const array of instance of type f96 (not function type) with dimension of constant expression 3 signed int 
+          returning 
+            pointer to signed int 
+
+      function
+          with parameters
+            static array of instance of type f97 (not function type) with dimension of constant expression 3 signed int 
           returning 
             pointer to pointer to signed int 
@@ -300,5 +303,5 @@
       function
           with parameters
-            const static open array of instance of type f98 
+            const static array of instance of type f98 (not function type) with dimension of constant expression 3 signed int 
           returning 
             pointer to const pointer to signed int 
@@ -306,56 +309,56 @@
       function
           with parameters
-            const static open array of instance of type f99 
+            const static array of instance of type f99 (not function type) with dimension of constant expression 3 signed int 
           returning 
             const pointer to const pointer to signed int 
 
-      f100: a const variable length array of open array of signed int 
-      f101: a const open array of open array of signed int 
-      f102: a static open array of open array of signed int 
-      f103: a const static open array of open array of signed int 
-      function
-          with parameters
-            const variable length array of open array of instance of type f104 
-          returning 
-            signed int 
-
-      function
-          with parameters
-            const open array of open array of instance of type f105 
-          returning 
-            signed int 
-
-      function
-          with parameters
-            static open array of open array of instance of type f106 
-          returning 
-            signed int 
-
-      function
-          with parameters
-            const static open array of open array of instance of type f107 
-          returning 
-            signed int 
-
-      f108: a const variable length array of open array of pointer to signed int 
-      f109: a const open array of open array of pointer to signed int 
-      f110: a static open array of open array of pointer to pointer to signed int 
-      f111: a const static open array of open array of pointer to const pointer to signed int 
-      f112: a const static open array of open array of const pointer to const pointer to signed int 
-      function
-          with parameters
-            const variable length array of open array of instance of type f113 
-          returning 
-            pointer to signed int 
-
-      function
-          with parameters
-            const open array of open array of instance of type f114 
-          returning 
-            pointer to signed int 
-
-      function
-          with parameters
-            static open array of open array of instance of type f115 
+      f100: const variable length array of array of signed int with dimension of constant expression 3 signed int 
+      f101: const array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+      f102: static array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+      f103: const static array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+      function
+          with parameters
+            const variable length array of array of instance of type f104 (not function type) with dimension of constant expression 3 signed int 
+          returning 
+            signed int 
+
+      function
+          with parameters
+            const array of array of instance of type f105 (not function type) with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+          returning 
+            signed int 
+
+      function
+          with parameters
+            static array of array of instance of type f106 (not function type) with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+          returning 
+            signed int 
+
+      function
+          with parameters
+            const static array of array of instance of type f107 (not function type) with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+          returning 
+            signed int 
+
+      f108: const variable length array of array of pointer to signed int with dimension of constant expression 3 signed int 
+      f109: const array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+      f110: static array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+      f111: const static array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+      f112: const static array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+      function
+          with parameters
+            const variable length array of array of instance of type f113 (not function type) with dimension of constant expression 3 signed int 
+          returning 
+            pointer to signed int 
+
+      function
+          with parameters
+            const array of array of instance of type f114 (not function type) with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+          returning 
+            pointer to signed int 
+
+      function
+          with parameters
+            static array of array of instance of type f115 (not function type) with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
           returning 
             pointer to pointer to signed int 
@@ -363,5 +366,5 @@
       function
           with parameters
-            const static open array of open array of instance of type f116 
+            const static array of array of instance of type f116 (not function type) with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
           returning 
             pointer to const pointer to signed int 
@@ -369,5 +372,5 @@
       function
           with parameters
-            const static open array of open array of instance of type f117 
+            const static array of array of instance of type f117 (not function type) with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
           returning 
             const pointer to const pointer to signed int 
@@ -376,3 +379,4 @@
       signed int 
     with body 
-
+      CompoundStmt
+
Index: src/Tests/SynTree/Expected/VariableDeclarator.tst
===================================================================
--- src/Tests/SynTree/Expected/VariableDeclarator.tst	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/Expected/VariableDeclarator.tst	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,67 +1,67 @@
-f1: a signed int 
-f2: a signed int 
-f3: a pointer to signed int 
-f4: a pointer to pointer to signed int 
-f5: a pointer to const pointer to signed int 
-f6: a const pointer to const pointer to signed int 
-f7: a pointer to signed int 
-f8: a pointer to pointer to signed int 
-f9: a pointer to const pointer to signed int 
-f10: a const pointer to const pointer to signed int 
-f11: a pointer to signed int 
-f12: a pointer to pointer to signed int 
-f13: a pointer to const pointer to signed int 
-f14: a const pointer to const pointer to signed int 
-f15: a open array of signed int 
-f16: a open array of signed int 
-f17: a open array of signed int 
-f18: a open array of signed int 
-f19: a open array of pointer to signed int 
-f20: a open array of pointer to signed int 
-f21: a open array of pointer to pointer to signed int 
-f22: a open array of pointer to pointer to signed int 
-f23: a open array of pointer to const pointer to signed int 
-f24: a open array of pointer to const pointer to signed int 
-f25: a open array of const pointer to const pointer to signed int 
-f26: a open array of const pointer to const pointer to signed int 
-f27: a open array of pointer to signed int 
-f28: a open array of pointer to signed int 
-f29: a open array of pointer to pointer to signed int 
-f30: a open array of pointer to pointer to signed int 
-f31: a open array of pointer to const pointer to signed int 
-f32: a open array of pointer to const pointer to signed int 
-f33: a open array of const pointer to const pointer to signed int 
-f34: a open array of const pointer to const pointer to signed int 
-f35: a open array of pointer to signed int 
-f36: a open array of pointer to signed int 
-f37: a open array of pointer to pointer to signed int 
-f38: a open array of pointer to pointer to signed int 
-f39: a open array of pointer to const pointer to signed int 
-f40: a open array of pointer to const pointer to signed int 
-f41: a open array of const pointer to const pointer to signed int 
-f42: a open array of const pointer to const pointer to signed int 
-f43: a open array of open array of signed int 
-f44: a open array of open array of signed int 
-f45: a open array of open array of signed int 
-f46: a open array of open array of signed int 
-f47: a open array of open array of signed int 
-f48: a open array of open array of signed int 
-f49: a open array of open array of pointer to signed int 
-f50: a open array of open array of pointer to signed int 
-f51: a open array of open array of pointer to pointer to signed int 
-f52: a open array of open array of pointer to pointer to signed int 
-f53: a open array of open array of pointer to const pointer to signed int 
-f54: a open array of open array of pointer to const pointer to signed int 
-f55: a open array of open array of const pointer to const pointer to signed int 
-f56: a open array of open array of const pointer to const pointer to signed int 
-f57: a open array of open array of pointer to signed int 
-f58: a open array of open array of pointer to signed int 
-f59: a open array of open array of pointer to pointer to signed int 
-f60: a open array of open array of pointer to pointer to signed int 
-f61: a open array of open array of pointer to const pointer to signed int 
-f62: a open array of open array of pointer to const pointer to signed int 
-f63: a open array of open array of const pointer to const pointer to signed int 
-f64: a open array of open array of const pointer to const pointer to signed int 
-f65: a function
+f1: signed int 
+f2: signed int 
+f3: pointer to signed int 
+f4: pointer to pointer to signed int 
+f5: pointer to const pointer to signed int 
+f6: const pointer to const pointer to signed int 
+f7: pointer to signed int 
+f8: pointer to pointer to signed int 
+f9: pointer to const pointer to signed int 
+f10: const pointer to const pointer to signed int 
+f11: pointer to signed int 
+f12: pointer to pointer to signed int 
+f13: pointer to const pointer to signed int 
+f14: const pointer to const pointer to signed int 
+f15: open array of signed int 
+f16: array of signed int with dimension of constant expression 10 signed int 
+f17: open array of signed int 
+f18: array of signed int with dimension of constant expression 10 signed int 
+f19: open array of pointer to signed int 
+f20: array of pointer to signed int with dimension of constant expression 10 signed int 
+f21: open array of pointer to pointer to signed int 
+f22: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
+f23: open array of pointer to const pointer to signed int 
+f24: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+f25: open array of const pointer to const pointer to signed int 
+f26: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+f27: open array of pointer to signed int 
+f28: array of pointer to signed int with dimension of constant expression 10 signed int 
+f29: open array of pointer to pointer to signed int 
+f30: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
+f31: open array of pointer to const pointer to signed int 
+f32: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+f33: open array of const pointer to const pointer to signed int 
+f34: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+f35: open array of pointer to signed int 
+f36: array of pointer to signed int with dimension of constant expression 10 signed int 
+f37: open array of pointer to pointer to signed int 
+f38: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
+f39: open array of pointer to const pointer to signed int 
+f40: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+f41: open array of const pointer to const pointer to signed int 
+f42: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
+f43: open array of array of signed int with dimension of constant expression 3 signed int 
+f44: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+f45: open array of array of signed int with dimension of constant expression 3 signed int 
+f46: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+f47: open array of array of signed int with dimension of constant expression 3 signed int 
+f48: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+f49: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
+f50: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+f51: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
+f52: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+f53: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
+f54: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+f55: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
+f56: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+f57: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
+f58: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+f59: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
+f60: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+f61: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
+f62: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+f63: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
+f64: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
+f65: function
     with parameters
       signed int 
@@ -69,5 +69,5 @@
       signed int 
 
-f66: a function
+f66: function
     with parameters
       signed int 
@@ -75,5 +75,5 @@
       signed int 
 
-f67: a function
+f67: function
     with parameters
       signed int 
@@ -81,5 +81,5 @@
       pointer to signed int 
 
-f68: a function
+f68: function
     with parameters
       signed int 
@@ -87,5 +87,5 @@
       pointer to pointer to signed int 
 
-f69: a function
+f69: function
     with parameters
       signed int 
@@ -93,5 +93,5 @@
       pointer to const pointer to signed int 
 
-f70: a function
+f70: function
     with parameters
       signed int 
@@ -99,5 +99,5 @@
       const pointer to const pointer to signed int 
 
-f71: a function
+f71: function
     with parameters
       signed int 
@@ -105,5 +105,5 @@
       pointer to signed int 
 
-f72: a function
+f72: function
     with parameters
       signed int 
@@ -111,5 +111,5 @@
       pointer to pointer to signed int 
 
-f73: a function
+f73: function
     with parameters
       signed int 
@@ -117,5 +117,5 @@
       pointer to const pointer to signed int 
 
-f74: a function
+f74: function
     with parameters
       signed int 
@@ -123,5 +123,5 @@
       const pointer to const pointer to signed int 
 
-f75: a pointer to function
+f75: pointer to function
     with parameters
       signed int 
@@ -129,5 +129,5 @@
       signed int 
 
-f76: a pointer to pointer to function
+f76: pointer to pointer to function
     with parameters
       signed int 
@@ -135,5 +135,5 @@
       signed int 
 
-f77: a pointer to const pointer to function
+f77: pointer to const pointer to function
     with parameters
       signed int 
@@ -141,5 +141,5 @@
       signed int 
 
-f78: a const pointer to const pointer to function
+f78: const pointer to const pointer to function
     with parameters
       signed int 
@@ -147,34 +147,37 @@
       signed int 
 
-f79: a pointer to function
+f79: pointer to function
     with parameters
       signed int 
     returning 
       pointer to function
+            accepting unspecified arguments
           returning 
             signed int 
 
 
-f80: a const pointer to function
+f80: const pointer to function
     with parameters
       signed int 
     returning 
       pointer to function
+            accepting unspecified arguments
           returning 
             signed int 
 
 
-f81: a const pointer to function
+f81: const pointer to function
     with parameters
       signed int 
     returning 
       const pointer to function
+            accepting unspecified arguments
           returning 
             signed int 
 
 
-z: a pointer to open array of double 
-w: a open array of pointer to char 
-v3: a pointer to open array of pointer to open array of pointer to function
+z: pointer to array of double with dimension of constant expression 20 signed int 
+w: array of pointer to char with dimension of constant expression 20 signed int 
+v3: pointer to open array of pointer to open array of pointer to function
     with parameters
       pointer to open array of pointer to open array of signed int 
Index: src/Tests/SynTree/make-rules
===================================================================
--- src/Tests/SynTree/make-rules	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/make-rules	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,21 +1,20 @@
 CFA = ../../cfa-cpp
 
-DIFF = diff#/software/gnu/bin/diff
+EXPECTED := ${wildcard ${EXPECTDIR}/*.tst}
+TESTS := ${EXPECTED:${EXPECTDIR}/%=${OUTPUTDIR}/%}
+TEST_IN := ${TESTS:.tst=.c}
 
-# Basic SynTree printing
-EXPECTED := ${wildcard $(EXPECTDIR)/*.tst}
-TESTS := $(EXPECTED:$(EXPECTDIR)/%=$(OUTPUTDIR)/%)
-TEST_IN := $(TESTS:.tst=.c)
+.SILENT :
 
-$(OUTPUTDIR)/%.tst : %.c $(CFA)
-	$(CFA) $(CFAOPT) < $< > $@ 2>&1
+${OUTPUTDIR}/%.tst : %.c ${CFA}
+	-${CFA} ${CFAOPT} < $< > $@ 2>&1
 
-$(OUTPUTDIR)/report : $(TESTS) $(EXPECTED)
+${OUTPUTDIR}/report : ${TESTS} ${EXPECTED}
 	rm -f $@
-	@for i in $(TESTS); do \
+	@for i in ${TESTS}; do \
 	     echo "---"`basename $$i`"---" | tee -a $@; \
-	     $(DIFF) -B -w $(EXPECTDIR)/`basename $$i` $$i | tee -a $@; \
+	     diff -B -w ${EXPECTDIR}/`basename $$i` $$i | tee -a $@; \
 	done
 
 clean :
-	rm -rf $(OUTPUTDIR)
+	rm -rf ${OUTPUTDIR}
Index: src/Tests/SynTree/run-tests.sh
===================================================================
--- src/Tests/SynTree/run-tests.sh	(revision a65d92e52b97fe1658884451a9f6553f519fc91a)
+++ src/Tests/SynTree/run-tests.sh	(revision 81419b56599b36f14d08bf2cbd8c25893ee2f52b)
@@ -1,3 +1,3 @@
-#!/bin/sh -v
+#!/bin/sh -
 
 dotest() {
