parser: rename all P* prod classes to A*
[nit.git] / src / parser / parser.nit
index 3f668cf..04b1385 100644 (file)
@@ -2,7 +2,7 @@
 # This file was generated by SableCC (http://www.sablecc.org/). 
 package parser
 
-import parser_prod
+intrude import parser_prod
 intrude import parser_tables
 
 # State of the parser automata as stored in the parser stack.
@@ -102,10 +102,10 @@ special ParserTable
                var lexer = _lexer
                while true do
                        var token = lexer.peek
-                       var last_pos = token.pos
-                       var last_line = token.line
+                       var last_pos = token.location.column_start
+                       var last_line = token.location.line_start
 
-                       if token isa PError then
+                       if token isa AError then
                                return new Start(null, token)
                        end
 
@@ -140,12 +140,13 @@ special ParserTable
                                var node2 = lexer.next
                                assert node2 isa EOF
                                var node1 = pop
-                               assert node1 isa PModule
+                               assert node1 isa AModule
                                var node = new Start(node1, node2)
-                               (new SearchTokensVisitor).visit(node)
+                               (new SearchTokensVisitor).enter_visit(node)
                                return node
                        else if action_type == 3 then # ERROR
-                               var node2 = new PError.init_error(lexer.filename, last_line, last_pos, error_messages[errors[action_value]])
+                               var location = new Location(lexer.filename, last_line, last_line, last_pos, last_pos)
+                               var node2 = new AError.init_error(error_messages[errors[action_value]],location)
                                var node = new Start(null, node2)
                                return node
                        end
@@ -904,7 +905,7 @@ private class SearchTokensVisitor
 special Visitor
        var _untokenned_nodes: Array[Prod]
        var _last_token: nullable Token = null
-       redef fun visit(n: nullable PNode)
+       redef fun visit(n: nullable ANode)
        do
                if n == null then
                        return
@@ -919,6 +920,20 @@ special Visitor
                        _untokenned_nodes.add(n)
                        n.visit_all(self)
                        n.last_token = _last_token
+
+                       if n.first_token != null then
+                               var start_location = n.first_token.location
+                               var end_location = _last_token.location
+
+                               if start_location != null and end_location != null then
+                                       var file = end_location.file
+                                       var line_start = start_location.line_start
+                                       var line_end = end_location.line_end
+                                       var column_start = start_location.column_start
+                                       var column_end = end_location.column_end
+                                       n.location = new Location(file, line_start, line_end, column_start, column_end)
+                               end
+                       end
                end
        end
        init
@@ -958,7 +973,7 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode4 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var pmodulenode1: nullable AModule = new AModule.init_amodule(
                                                ppackagedeclnode2,
                                                listnode3,
@@ -1006,7 +1021,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode5 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -1063,7 +1078,7 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode5 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode4 = nodearraylist2
                                        assert listnode4 isa Array[Object]
 #                                      if listnode4 != null then
@@ -1131,7 +1146,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -1171,7 +1186,7 @@ special ReduceAction
                                        var listnode7 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var ppropdefnode5 = nodearraylist1
-                                       assert ppropdefnode5 isa nullable PPropdef
+                                       assert ppropdefnode5 isa nullable APropdef
                                        if ppropdefnode5 != null then
                                                listnode6.add(ppropdefnode5)
                                        end
@@ -1203,7 +1218,7 @@ special ReduceAction
                                        var listnode8 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode5 = nodearraylist1
-                                       assert ppropdefnode5 isa nullable PPropdef
+                                       assert ppropdefnode5 isa nullable APropdef
                                        var listnode6 = nodearraylist3
                                        assert listnode6 isa Array[Object]
                                        if ppropdefnode5 != null then
@@ -1243,10 +1258,10 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode6 = new Array[Object]
                                        var ppropdefnode5 = nodearraylist2
-                                       assert ppropdefnode5 isa nullable PPropdef
+                                       assert ppropdefnode5 isa nullable APropdef
                                        if ppropdefnode5 != null then
                                                listnode6.add(ppropdefnode5)
                                        end
@@ -1278,10 +1293,10 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode5 = nodearraylist2
-                                       assert ppropdefnode5 isa nullable PPropdef
+                                       assert ppropdefnode5 isa nullable APropdef
                                        var listnode6 = nodearraylist4
                                        assert listnode6 isa Array[Object]
                                        if ppropdefnode5 != null then
@@ -1331,7 +1346,7 @@ special ReduceAction
 #                                      end
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist2
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        if ppropdefnode6 != null then
                                                listnode7.add(ppropdefnode6)
                                        end
@@ -1373,7 +1388,7 @@ special ReduceAction
 #                                      end
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist2
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        var listnode7 = nodearraylist4
                                        assert listnode7 isa Array[Object]
                                        if ppropdefnode6 != null then
@@ -1414,7 +1429,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -1426,7 +1441,7 @@ special ReduceAction
 #                                      end
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist3
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        if ppropdefnode6 != null then
                                                listnode7.add(ppropdefnode6)
                                        end
@@ -1459,7 +1474,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode9 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -1471,7 +1486,7 @@ special ReduceAction
 #                                      end
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist3
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        var listnode7 = nodearraylist5
                                        assert listnode7 isa Array[Object]
                                        if ppropdefnode6 != null then
@@ -1514,7 +1529,7 @@ special ReduceAction
                                        assert listnode4 isa Array[Object]
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist2
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        if ppropdefnode6 != null then
                                                listnode7.add(ppropdefnode6)
                                        end
@@ -1556,7 +1571,7 @@ special ReduceAction
                                        assert listnode4 isa Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist2
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        var listnode7 = nodearraylist4
                                        assert listnode7 isa Array[Object]
                                        if ppropdefnode6 != null then
@@ -1604,12 +1619,12 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode4 = nodearraylist2
                                        assert listnode4 isa Array[Object]
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist3
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        if ppropdefnode6 != null then
                                                listnode7.add(ppropdefnode6)
                                        end
@@ -1649,12 +1664,12 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode9 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode4 = nodearraylist2
                                        assert listnode4 isa Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist3
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        var listnode7 = nodearraylist5
                                        assert listnode7 isa Array[Object]
                                        if ppropdefnode6 != null then
@@ -1714,7 +1729,7 @@ special ReduceAction
                                        assert listnode5 isa Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode7 = nodearraylist3
-                                       assert ppropdefnode7 isa nullable PPropdef
+                                       assert ppropdefnode7 isa nullable APropdef
                                        if ppropdefnode7 != null then
                                                listnode8.add(ppropdefnode7)
                                        end
@@ -1766,7 +1781,7 @@ special ReduceAction
                                        assert listnode5 isa Array[Object]
                                        var listnode9 = new Array[Object]
                                        var ppropdefnode7 = nodearraylist3
-                                       assert ppropdefnode7 isa nullable PPropdef
+                                       assert ppropdefnode7 isa nullable APropdef
                                        var listnode8 = nodearraylist5
                                        assert listnode8 isa Array[Object]
                                        if ppropdefnode7 != null then
@@ -1815,7 +1830,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode9 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -1829,7 +1844,7 @@ special ReduceAction
                                        assert listnode5 isa Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode7 = nodearraylist4
-                                       assert ppropdefnode7 isa nullable PPropdef
+                                       assert ppropdefnode7 isa nullable APropdef
                                        if ppropdefnode7 != null then
                                                listnode8.add(ppropdefnode7)
                                        end
@@ -1870,7 +1885,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode10 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -1884,7 +1899,7 @@ special ReduceAction
                                        assert listnode5 isa Array[Object]
                                        var listnode9 = new Array[Object]
                                        var ppropdefnode7 = nodearraylist4
-                                       assert ppropdefnode7 isa nullable PPropdef
+                                       assert ppropdefnode7 isa nullable APropdef
                                        var listnode8 = nodearraylist6
                                        assert listnode8 isa Array[Object]
                                        if ppropdefnode7 != null then
@@ -1929,7 +1944,7 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode5 = new Array[Object]
                                        var pclassdefnode4 = nodearraylist1
-                                       assert pclassdefnode4 isa nullable PClassdef
+                                       assert pclassdefnode4 isa nullable AClassdef
                                        if pclassdefnode4 != null then
                                                listnode5.add(pclassdefnode4)
                                        end
@@ -1953,9 +1968,9 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode5 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var pclassdefnode4 = nodearraylist2
-                                       assert pclassdefnode4 isa nullable PClassdef
+                                       assert pclassdefnode4 isa nullable AClassdef
                                        if pclassdefnode4 != null then
                                                listnode5.add(pclassdefnode4)
                                        end
@@ -1988,7 +2003,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var pclassdefnode5 = nodearraylist2
-                                       assert pclassdefnode5 isa nullable PClassdef
+                                       assert pclassdefnode5 isa nullable AClassdef
                                        if pclassdefnode5 != null then
                                                listnode6.add(pclassdefnode5)
                                        end
@@ -2013,7 +2028,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -2024,7 +2039,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var pclassdefnode5 = nodearraylist3
-                                       assert pclassdefnode5 isa nullable PClassdef
+                                       assert pclassdefnode5 isa nullable AClassdef
                                        if pclassdefnode5 != null then
                                                listnode6.add(pclassdefnode5)
                                        end
@@ -2050,7 +2065,7 @@ special ReduceAction
                                        var listnode4 = nodearraylist1
                                        assert listnode4 isa Array[Object]
                                        var pclassdefnode5 = nodearraylist2
-                                       assert pclassdefnode5 isa nullable PClassdef
+                                       assert pclassdefnode5 isa nullable AClassdef
 #                                      if listnode4 != null then
                                                if listnode6.is_empty then
                                                        listnode6 = listnode4
@@ -2082,11 +2097,11 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode4 = nodearraylist2
                                        assert listnode4 isa Array[Object]
                                        var pclassdefnode5 = nodearraylist3
-                                       assert pclassdefnode5 isa nullable PClassdef
+                                       assert pclassdefnode5 isa nullable AClassdef
 #                                      if listnode4 != null then
                                                if listnode6.is_empty then
                                                        listnode6 = listnode4
@@ -2129,7 +2144,7 @@ special ReduceAction
                                        var listnode5 = nodearraylist2
                                        assert listnode5 isa Array[Object]
                                        var pclassdefnode6 = nodearraylist3
-                                       assert pclassdefnode6 isa nullable PClassdef
+                                       assert pclassdefnode6 isa nullable AClassdef
 #                                      if listnode5 != null then
                                                if listnode7.is_empty then
                                                        listnode7 = listnode5
@@ -2162,7 +2177,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -2175,7 +2190,7 @@ special ReduceAction
                                        var listnode5 = nodearraylist3
                                        assert listnode5 isa Array[Object]
                                        var pclassdefnode6 = nodearraylist4
-                                       assert pclassdefnode6 isa nullable PClassdef
+                                       assert pclassdefnode6 isa nullable AClassdef
 #                                      if listnode5 != null then
                                                if listnode7.is_empty then
                                                        listnode7 = listnode5
@@ -2208,7 +2223,7 @@ special ReduceAction
                                        var listnode8 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var ppropdefnode5 = nodearraylist1
-                                       assert ppropdefnode5 isa nullable PPropdef
+                                       assert ppropdefnode5 isa nullable APropdef
                                        if ppropdefnode5 != null then
                                                listnode6.add(ppropdefnode5)
                                        end
@@ -2216,7 +2231,7 @@ special ReduceAction
                                                listnode6
                                        )
                                        var pclassdefnode7 = nodearraylist3
-                                       assert pclassdefnode7 isa nullable PClassdef
+                                       assert pclassdefnode7 isa nullable AClassdef
                                        if pclassdefnode4 != null then
                                                listnode8.add(pclassdefnode4)
                                        end
@@ -2246,7 +2261,7 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode5 = nodearraylist1
-                                       assert ppropdefnode5 isa nullable PPropdef
+                                       assert ppropdefnode5 isa nullable APropdef
                                        var listnode6 = nodearraylist3
                                        assert listnode6 isa Array[Object]
                                        if ppropdefnode5 != null then
@@ -2263,7 +2278,7 @@ special ReduceAction
                                                listnode7
                                        )
                                        var pclassdefnode8 = nodearraylist4
-                                       assert pclassdefnode8 isa nullable PClassdef
+                                       assert pclassdefnode8 isa nullable AClassdef
                                        if pclassdefnode4 != null then
                                                listnode9.add(pclassdefnode4)
                                        end
@@ -2292,10 +2307,10 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode6 = new Array[Object]
                                        var ppropdefnode5 = nodearraylist2
-                                       assert ppropdefnode5 isa nullable PPropdef
+                                       assert ppropdefnode5 isa nullable APropdef
                                        if ppropdefnode5 != null then
                                                listnode6.add(ppropdefnode5)
                                        end
@@ -2303,7 +2318,7 @@ special ReduceAction
                                                listnode6
                                        )
                                        var pclassdefnode7 = nodearraylist4
-                                       assert pclassdefnode7 isa nullable PClassdef
+                                       assert pclassdefnode7 isa nullable AClassdef
                                        if pclassdefnode4 != null then
                                                listnode8.add(pclassdefnode4)
                                        end
@@ -2333,10 +2348,10 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode9 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode5 = nodearraylist2
-                                       assert ppropdefnode5 isa nullable PPropdef
+                                       assert ppropdefnode5 isa nullable APropdef
                                        var listnode6 = nodearraylist4
                                        assert listnode6 isa Array[Object]
                                        if ppropdefnode5 != null then
@@ -2353,7 +2368,7 @@ special ReduceAction
                                                listnode7
                                        )
                                        var pclassdefnode8 = nodearraylist5
-                                       assert pclassdefnode8 isa nullable PClassdef
+                                       assert pclassdefnode8 isa nullable AClassdef
                                        if pclassdefnode4 != null then
                                                listnode9.add(pclassdefnode4)
                                        end
@@ -2392,7 +2407,7 @@ special ReduceAction
 #                                      end
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist2
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        if ppropdefnode6 != null then
                                                listnode7.add(ppropdefnode6)
                                        end
@@ -2400,7 +2415,7 @@ special ReduceAction
                                                listnode7
                                        )
                                        var pclassdefnode8 = nodearraylist4
-                                       assert pclassdefnode8 isa nullable PClassdef
+                                       assert pclassdefnode8 isa nullable AClassdef
                                        if pclassdefnode5 != null then
                                                listnode9.add(pclassdefnode5)
                                        end
@@ -2440,7 +2455,7 @@ special ReduceAction
 #                                      end
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist2
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        var listnode7 = nodearraylist4
                                        assert listnode7 isa Array[Object]
                                        if ppropdefnode6 != null then
@@ -2457,7 +2472,7 @@ special ReduceAction
                                                listnode8
                                        )
                                        var pclassdefnode9 = nodearraylist5
-                                       assert pclassdefnode9 isa nullable PClassdef
+                                       assert pclassdefnode9 isa nullable AClassdef
                                        if pclassdefnode5 != null then
                                                listnode10.add(pclassdefnode5)
                                        end
@@ -2487,7 +2502,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode9 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -2499,7 +2514,7 @@ special ReduceAction
 #                                      end
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist3
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        if ppropdefnode6 != null then
                                                listnode7.add(ppropdefnode6)
                                        end
@@ -2507,7 +2522,7 @@ special ReduceAction
                                                listnode7
                                        )
                                        var pclassdefnode8 = nodearraylist5
-                                       assert pclassdefnode8 isa nullable PClassdef
+                                       assert pclassdefnode8 isa nullable AClassdef
                                        if pclassdefnode5 != null then
                                                listnode9.add(pclassdefnode5)
                                        end
@@ -2538,7 +2553,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode10 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -2550,7 +2565,7 @@ special ReduceAction
 #                                      end
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist3
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        var listnode7 = nodearraylist5
                                        assert listnode7 isa Array[Object]
                                        if ppropdefnode6 != null then
@@ -2567,7 +2582,7 @@ special ReduceAction
                                                listnode8
                                        )
                                        var pclassdefnode9 = nodearraylist6
-                                       assert pclassdefnode9 isa nullable PClassdef
+                                       assert pclassdefnode9 isa nullable AClassdef
                                        if pclassdefnode5 != null then
                                                listnode10.add(pclassdefnode5)
                                        end
@@ -2599,7 +2614,7 @@ special ReduceAction
                                        assert listnode4 isa Array[Object]
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist2
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        if ppropdefnode6 != null then
                                                listnode7.add(ppropdefnode6)
                                        end
@@ -2607,7 +2622,7 @@ special ReduceAction
                                                listnode7
                                        )
                                        var pclassdefnode8 = nodearraylist4
-                                       assert pclassdefnode8 isa nullable PClassdef
+                                       assert pclassdefnode8 isa nullable AClassdef
 #                                      if listnode4 != null then
                                                if listnode9.is_empty then
                                                        listnode9 = listnode4
@@ -2647,7 +2662,7 @@ special ReduceAction
                                        assert listnode4 isa Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist2
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        var listnode7 = nodearraylist4
                                        assert listnode7 isa Array[Object]
                                        if ppropdefnode6 != null then
@@ -2664,7 +2679,7 @@ special ReduceAction
                                                listnode8
                                        )
                                        var pclassdefnode9 = nodearraylist5
-                                       assert pclassdefnode9 isa nullable PClassdef
+                                       assert pclassdefnode9 isa nullable AClassdef
 #                                      if listnode4 != null then
                                                if listnode10.is_empty then
                                                        listnode10 = listnode4
@@ -2701,12 +2716,12 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode9 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode4 = nodearraylist2
                                        assert listnode4 isa Array[Object]
                                        var listnode7 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist3
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        if ppropdefnode6 != null then
                                                listnode7.add(ppropdefnode6)
                                        end
@@ -2714,7 +2729,7 @@ special ReduceAction
                                                listnode7
                                        )
                                        var pclassdefnode8 = nodearraylist5
-                                       assert pclassdefnode8 isa nullable PClassdef
+                                       assert pclassdefnode8 isa nullable AClassdef
 #                                      if listnode4 != null then
                                                if listnode9.is_empty then
                                                        listnode9 = listnode4
@@ -2752,12 +2767,12 @@ special ReduceAction
                                        var listnode3 = new Array[Object]
                                        var listnode10 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode4 = nodearraylist2
                                        assert listnode4 isa Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode6 = nodearraylist3
-                                       assert ppropdefnode6 isa nullable PPropdef
+                                       assert ppropdefnode6 isa nullable APropdef
                                        var listnode7 = nodearraylist5
                                        assert listnode7 isa Array[Object]
                                        if ppropdefnode6 != null then
@@ -2774,7 +2789,7 @@ special ReduceAction
                                                listnode8
                                        )
                                        var pclassdefnode9 = nodearraylist6
-                                       assert pclassdefnode9 isa nullable PClassdef
+                                       assert pclassdefnode9 isa nullable AClassdef
 #                                      if listnode4 != null then
                                                if listnode10.is_empty then
                                                        listnode10 = listnode4
@@ -2823,7 +2838,7 @@ special ReduceAction
                                        assert listnode5 isa Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode7 = nodearraylist3
-                                       assert ppropdefnode7 isa nullable PPropdef
+                                       assert ppropdefnode7 isa nullable APropdef
                                        if ppropdefnode7 != null then
                                                listnode8.add(ppropdefnode7)
                                        end
@@ -2831,7 +2846,7 @@ special ReduceAction
                                                listnode8
                                        )
                                        var pclassdefnode9 = nodearraylist5
-                                       assert pclassdefnode9 isa nullable PClassdef
+                                       assert pclassdefnode9 isa nullable AClassdef
 #                                      if listnode5 != null then
                                                if listnode10.is_empty then
                                                        listnode10 = listnode5
@@ -2881,7 +2896,7 @@ special ReduceAction
                                        assert listnode5 isa Array[Object]
                                        var listnode9 = new Array[Object]
                                        var ppropdefnode7 = nodearraylist3
-                                       assert ppropdefnode7 isa nullable PPropdef
+                                       assert ppropdefnode7 isa nullable APropdef
                                        var listnode8 = nodearraylist5
                                        assert listnode8 isa Array[Object]
                                        if ppropdefnode7 != null then
@@ -2898,7 +2913,7 @@ special ReduceAction
                                                listnode9
                                        )
                                        var pclassdefnode10 = nodearraylist6
-                                       assert pclassdefnode10 isa nullable PClassdef
+                                       assert pclassdefnode10 isa nullable AClassdef
 #                                      if listnode5 != null then
                                                if listnode11.is_empty then
                                                        listnode11 = listnode5
@@ -2936,7 +2951,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode10 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -2950,7 +2965,7 @@ special ReduceAction
                                        assert listnode5 isa Array[Object]
                                        var listnode8 = new Array[Object]
                                        var ppropdefnode7 = nodearraylist4
-                                       assert ppropdefnode7 isa nullable PPropdef
+                                       assert ppropdefnode7 isa nullable APropdef
                                        if ppropdefnode7 != null then
                                                listnode8.add(ppropdefnode7)
                                        end
@@ -2958,7 +2973,7 @@ special ReduceAction
                                                listnode8
                                        )
                                        var pclassdefnode9 = nodearraylist6
-                                       assert pclassdefnode9 isa nullable PClassdef
+                                       assert pclassdefnode9 isa nullable AClassdef
 #                                      if listnode5 != null then
                                                if listnode10.is_empty then
                                                        listnode10 = listnode5
@@ -2997,7 +3012,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode11 = new Array[Object]
                                        var ppackagedeclnode2 = nodearraylist1
-                                       assert ppackagedeclnode2 isa nullable PPackagedecl
+                                       assert ppackagedeclnode2 isa nullable APackagedecl
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -3011,7 +3026,7 @@ special ReduceAction
                                        assert listnode5 isa Array[Object]
                                        var listnode9 = new Array[Object]
                                        var ppropdefnode7 = nodearraylist4
-                                       assert ppropdefnode7 isa nullable PPropdef
+                                       assert ppropdefnode7 isa nullable APropdef
                                        var listnode8 = nodearraylist6
                                        assert listnode8 isa Array[Object]
                                        if ppropdefnode7 != null then
@@ -3028,7 +3043,7 @@ special ReduceAction
                                                listnode9
                                        )
                                        var pclassdefnode10 = nodearraylist7
-                                       assert pclassdefnode10 isa nullable PClassdef
+                                       assert pclassdefnode10 isa nullable AClassdef
 #                                      if listnode5 != null then
                                                if listnode11.is_empty then
                                                        listnode11 = listnode5
@@ -3063,7 +3078,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwpackagenode3 = nodearraylist2
                                        assert tkwpackagenode3 isa nullable TKwpackage
                                        var tidnode4 = nodearraylist4
@@ -3090,12 +3105,12 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pvisibilitynode2 = nodearraylist2
-                                       assert pvisibilitynode2 isa nullable PVisibility
+                                       assert pvisibilitynode2 isa nullable AVisibility
                                        var tkwimportnode3 = nodearraylist3
                                        assert tkwimportnode3 isa nullable TKwimport
                                        var tidnode4 = nodearraylist5
                                        assert tidnode4 isa nullable TId
-                                       var pimportnode1: nullable AImport = new AImport.init_aimport(
+                                       var pimportnode1: nullable AStdImport = new AStdImport.init_astdimport(
                                                pvisibilitynode2,
                                                tkwimportnode3,
                                                tidnode4
@@ -3117,7 +3132,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pvisibilitynode2 = nodearraylist2
-                                       assert pvisibilitynode2 isa nullable PVisibility
+                                       assert pvisibilitynode2 isa nullable AVisibility
                                        var tkwimportnode3 = nodearraylist3
                                        assert tkwimportnode3 isa nullable TKwimport
                                        var tkwendnode4 = nodearraylist5
@@ -3140,7 +3155,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var ppropdefnode2 = nodearraylist1
-                                       assert ppropdefnode2 isa nullable PPropdef
+                                       assert ppropdefnode2 isa nullable APropdef
                                        if ppropdefnode2 != null then
                                                listnode3.add(ppropdefnode2)
                                        end
@@ -3173,7 +3188,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode4 = nodearraylist2
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        if pexprnode4 != null then
                                                listnode5.add(pexprnode4)
                                        end
@@ -3200,7 +3215,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode6 = new Array[Object]
                                        var pexprnode4 = nodearraylist2
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        var listnode5 = nodearraylist3
                                        assert listnode5 isa Array[Object]
                                        if pexprnode4 != null then
@@ -3241,14 +3256,14 @@ special ReduceAction
                                        var listnode8 = new Array[Object]
                                        var listnode9 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                null,
                                                pvisibilitynode4,
@@ -3280,16 +3295,16 @@ special ReduceAction
                                        var listnode8 = new Array[Object]
                                        var listnode9 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
                                                pvisibilitynode4,
@@ -3321,11 +3336,11 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode10 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist6
@@ -3337,7 +3352,7 @@ special ReduceAction
                                                        listnode8.append(listnode7)
                                                end
 #                                      end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                null,
                                                pvisibilitynode4,
@@ -3370,13 +3385,13 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode10 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist7
@@ -3388,7 +3403,7 @@ special ReduceAction
                                                        listnode8.append(listnode7)
                                                end
 #                                      end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
                                                pvisibilitynode4,
@@ -3420,11 +3435,11 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode10 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode8 = nodearraylist6
@@ -3436,7 +3451,7 @@ special ReduceAction
                                                        listnode9.append(listnode8)
                                                end
 #                                      end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                null,
                                                pvisibilitynode4,
@@ -3469,13 +3484,13 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode10 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode8 = nodearraylist7
@@ -3487,7 +3502,7 @@ special ReduceAction
                                                        listnode9.append(listnode8)
                                                end
 #                                      end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
                                                pvisibilitynode4,
@@ -3520,11 +3535,11 @@ special ReduceAction
                                        var listnode10 = new Array[Object]
                                        var listnode11 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist6
@@ -3545,7 +3560,7 @@ special ReduceAction
                                                        listnode10.append(listnode9)
                                                end
 #                                      end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                null,
                                                pvisibilitynode4,
@@ -3579,13 +3594,13 @@ special ReduceAction
                                        var listnode10 = new Array[Object]
                                        var listnode11 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist7
@@ -3606,7 +3621,7 @@ special ReduceAction
                                                        listnode10.append(listnode9)
                                                end
 #                                      end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
                                                pvisibilitynode4,
@@ -3639,19 +3654,19 @@ special ReduceAction
                                        var listnode8 = new Array[Object]
                                        var listnode10 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var ppropdefnode9 = nodearraylist6
-                                       assert ppropdefnode9 isa nullable PPropdef
+                                       assert ppropdefnode9 isa nullable APropdef
                                        if ppropdefnode9 != null then
                                                listnode10.add(ppropdefnode9)
                                        end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                null,
                                                pvisibilitynode4,
@@ -3685,15 +3700,15 @@ special ReduceAction
                                        var listnode8 = new Array[Object]
                                        var listnode11 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var ppropdefnode9 = nodearraylist6
-                                       assert ppropdefnode9 isa nullable PPropdef
+                                       assert ppropdefnode9 isa nullable APropdef
                                        var listnode10 = nodearraylist8
                                        assert listnode10 isa Array[Object]
                                        if ppropdefnode9 != null then
@@ -3706,7 +3721,7 @@ special ReduceAction
                                                        listnode11.append(listnode10)
                                                end
 #                                      end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                null,
                                                pvisibilitynode4,
@@ -3740,21 +3755,21 @@ special ReduceAction
                                        var listnode8 = new Array[Object]
                                        var listnode10 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var ppropdefnode9 = nodearraylist7
-                                       assert ppropdefnode9 isa nullable PPropdef
+                                       assert ppropdefnode9 isa nullable APropdef
                                        if ppropdefnode9 != null then
                                                listnode10.add(ppropdefnode9)
                                        end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
                                                pvisibilitynode4,
@@ -3789,17 +3804,17 @@ special ReduceAction
                                        var listnode8 = new Array[Object]
                                        var listnode11 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var ppropdefnode9 = nodearraylist7
-                                       assert ppropdefnode9 isa nullable PPropdef
+                                       assert ppropdefnode9 isa nullable APropdef
                                        var listnode10 = nodearraylist9
                                        assert listnode10 isa Array[Object]
                                        if ppropdefnode9 != null then
@@ -3812,7 +3827,7 @@ special ReduceAction
                                                        listnode11.append(listnode10)
                                                end
 #                                      end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
                                                pvisibilitynode4,
@@ -3846,11 +3861,11 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode11 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist6
@@ -3863,11 +3878,11 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode10 = nodearraylist7
-                                       assert ppropdefnode10 isa nullable PPropdef
+                                       assert ppropdefnode10 isa nullable APropdef
                                        if ppropdefnode10 != null then
                                                listnode11.add(ppropdefnode10)
                                        end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                null,
                                                pvisibilitynode4,
@@ -3902,11 +3917,11 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode12 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist6
@@ -3919,7 +3934,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode10 = nodearraylist7
-                                       assert ppropdefnode10 isa nullable PPropdef
+                                       assert ppropdefnode10 isa nullable APropdef
                                        var listnode11 = nodearraylist9
                                        assert listnode11 isa Array[Object]
                                        if ppropdefnode10 != null then
@@ -3932,7 +3947,7 @@ special ReduceAction
                                                        listnode12.append(listnode11)
                                                end
 #                                      end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                null,
                                                pvisibilitynode4,
@@ -3967,13 +3982,13 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode11 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist7
@@ -3986,11 +4001,11 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode10 = nodearraylist8
-                                       assert ppropdefnode10 isa nullable PPropdef
+                                       assert ppropdefnode10 isa nullable APropdef
                                        if ppropdefnode10 != null then
                                                listnode11.add(ppropdefnode10)
                                        end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
                                                pvisibilitynode4,
@@ -4026,13 +4041,13 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode12 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist7
@@ -4045,7 +4060,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode10 = nodearraylist8
-                                       assert ppropdefnode10 isa nullable PPropdef
+                                       assert ppropdefnode10 isa nullable APropdef
                                        var listnode11 = nodearraylist10
                                        assert listnode11 isa Array[Object]
                                        if ppropdefnode10 != null then
@@ -4058,7 +4073,7 @@ special ReduceAction
                                                        listnode12.append(listnode11)
                                                end
 #                                      end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
                                                pvisibilitynode4,
@@ -4092,11 +4107,11 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode11 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode8 = nodearraylist6
@@ -4109,11 +4124,11 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode10 = nodearraylist7
-                                       assert ppropdefnode10 isa nullable PPropdef
+                                       assert ppropdefnode10 isa nullable APropdef
                                        if ppropdefnode10 != null then
                                                listnode11.add(ppropdefnode10)
                                        end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                null,
                                                pvisibilitynode4,
@@ -4148,11 +4163,11 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode12 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode8 = nodearraylist6
@@ -4165,7 +4180,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode10 = nodearraylist7
-                                       assert ppropdefnode10 isa nullable PPropdef
+                                       assert ppropdefnode10 isa nullable APropdef
                                        var listnode11 = nodearraylist9
                                        assert listnode11 isa Array[Object]
                                        if ppropdefnode10 != null then
@@ -4178,7 +4193,7 @@ special ReduceAction
                                                        listnode12.append(listnode11)
                                                end
 #                                      end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                null,
                                                pvisibilitynode4,
@@ -4213,13 +4228,13 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode11 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode8 = nodearraylist7
@@ -4232,11 +4247,11 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode10 = nodearraylist8
-                                       assert ppropdefnode10 isa nullable PPropdef
+                                       assert ppropdefnode10 isa nullable APropdef
                                        if ppropdefnode10 != null then
                                                listnode11.add(ppropdefnode10)
                                        end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
                                                pvisibilitynode4,
@@ -4272,13 +4287,13 @@ special ReduceAction
                                        var listnode9 = new Array[Object]
                                        var listnode12 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode8 = nodearraylist7
@@ -4291,7 +4306,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode10 = nodearraylist8
-                                       assert ppropdefnode10 isa nullable PPropdef
+                                       assert ppropdefnode10 isa nullable APropdef
                                        var listnode11 = nodearraylist10
                                        assert listnode11 isa Array[Object]
                                        if ppropdefnode10 != null then
@@ -4304,7 +4319,7 @@ special ReduceAction
                                                        listnode12.append(listnode11)
                                                end
 #                                      end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
                                                pvisibilitynode4,
@@ -4339,11 +4354,11 @@ special ReduceAction
                                        var listnode10 = new Array[Object]
                                        var listnode12 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist6
@@ -4365,11 +4380,11 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode11 = nodearraylist8
-                                       assert ppropdefnode11 isa nullable PPropdef
+                                       assert ppropdefnode11 isa nullable APropdef
                                        if ppropdefnode11 != null then
                                                listnode12.add(ppropdefnode11)
                                        end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                null,
                                                pvisibilitynode4,
@@ -4405,11 +4420,11 @@ special ReduceAction
                                        var listnode10 = new Array[Object]
                                        var listnode13 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist3
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist6
@@ -4431,7 +4446,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode11 = nodearraylist8
-                                       assert ppropdefnode11 isa nullable PPropdef
+                                       assert ppropdefnode11 isa nullable APropdef
                                        var listnode12 = nodearraylist10
                                        assert listnode12 isa Array[Object]
                                        if ppropdefnode11 != null then
@@ -4444,7 +4459,7 @@ special ReduceAction
                                                        listnode13.append(listnode12)
                                                end
 #                                      end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                null,
                                                pvisibilitynode4,
@@ -4480,13 +4495,13 @@ special ReduceAction
                                        var listnode10 = new Array[Object]
                                        var listnode12 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist7
@@ -4508,11 +4523,11 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode11 = nodearraylist9
-                                       assert ppropdefnode11 isa nullable PPropdef
+                                       assert ppropdefnode11 isa nullable APropdef
                                        if ppropdefnode11 != null then
                                                listnode12.add(ppropdefnode11)
                                        end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
                                                pvisibilitynode4,
@@ -4549,13 +4564,13 @@ special ReduceAction
                                        var listnode10 = new Array[Object]
                                        var listnode13 = new Array[Object]
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var pclasskindnode5 = nodearraylist4
-                                       assert pclasskindnode5 isa nullable PClasskind
+                                       assert pclasskindnode5 isa nullable AClasskind
                                        var tclassidnode6 = nodearraylist6
                                        assert tclassidnode6 isa nullable TClassid
                                        var listnode7 = nodearraylist7
@@ -4577,7 +4592,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ppropdefnode11 = nodearraylist9
-                                       assert ppropdefnode11 isa nullable PPropdef
+                                       assert ppropdefnode11 isa nullable APropdef
                                        var listnode12 = nodearraylist11
                                        assert listnode12 isa Array[Object]
                                        if ppropdefnode11 != null then
@@ -4590,7 +4605,7 @@ special ReduceAction
                                                        listnode13.append(listnode12)
                                                end
 #                                      end
-                                       var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef(
+                                       var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
                                                pdocnode2,
                                                tkwredefnode3,
                                                pvisibilitynode4,
@@ -4685,7 +4700,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pformaldefnode1 = nodearraylist3
-                                       assert pformaldefnode1 isa nullable PFormaldef
+                                       assert pformaldefnode1 isa nullable AFormaldef
                                        if pformaldefnode1 != null then
                                                listnode2.add(pformaldefnode1)
                                        end
@@ -4707,7 +4722,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pformaldefnode1 = nodearraylist3
-                                       assert pformaldefnode1 isa nullable PFormaldef
+                                       assert pformaldefnode1 isa nullable AFormaldef
                                        var listnode2 = nodearraylist4
                                        assert listnode2 isa Array[Object]
                                        if pformaldefnode1 != null then
@@ -4734,7 +4749,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pformaldefnode1 = nodearraylist3
-                                       assert pformaldefnode1 isa nullable PFormaldef
+                                       assert pformaldefnode1 isa nullable AFormaldef
                                        node_list = pformaldefnode1
                                        p.push(p.go_to(8), node_list)
        end
@@ -4767,7 +4782,7 @@ special ReduceAction
                                        var tclassidnode2 = nodearraylist1
                                        assert tclassidnode2 isa nullable TClassid
                                        var ptypenode3 = nodearraylist2
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var pformaldefnode1: nullable AFormaldef = new AFormaldef.init_aformaldef(
                                                tclassidnode2,
                                                ptypenode3
@@ -4789,7 +4804,7 @@ special ReduceAction
                                        var tkwspecialnode2 = nodearraylist2
                                        assert tkwspecialnode2 isa nullable TKwspecial
                                        var ptypenode3 = nodearraylist4
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var psuperclassnode1: nullable ASuperclass = new ASuperclass.init_asuperclass(
                                                tkwspecialnode2,
                                                ptypenode3
@@ -4807,7 +4822,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var ppropdefnode1 = nodearraylist1
-                                       assert ppropdefnode1 isa nullable PPropdef
+                                       assert ppropdefnode1 isa nullable APropdef
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(11), node_list)
        end
@@ -4826,17 +4841,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist3
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist7
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef(
                                                pdocnode2,
                                                null,
@@ -4865,19 +4880,19 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist4
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist8
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -4906,17 +4921,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist3
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist7
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef(
                                                pdocnode2,
                                                null,
@@ -4946,19 +4961,19 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist4
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist8
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -4986,15 +5001,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist3
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var ppropdefnode1: nullable ADeferredMethPropdef = new ADeferredMethPropdef.init_adeferredmethpropdef(
                                                pdocnode2,
                                                null,
@@ -5022,17 +5037,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist4
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var ppropdefnode1: nullable ADeferredMethPropdef = new ADeferredMethPropdef.init_adeferredmethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -5059,15 +5074,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist3
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var ppropdefnode1: nullable AInternMethPropdef = new AInternMethPropdef.init_ainternmethpropdef(
                                                pdocnode2,
                                                null,
@@ -5095,17 +5110,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist4
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var ppropdefnode1: nullable AInternMethPropdef = new AInternMethPropdef.init_ainternmethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -5132,15 +5147,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist3
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef(
                                                pdocnode2,
                                                null,
@@ -5169,17 +5184,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist4
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -5208,15 +5223,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist3
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var tstringnode8 = nodearraylist8
                                        assert tstringnode8 isa nullable TString
                                        var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef(
@@ -5248,17 +5263,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist4
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var tstringnode8 = nodearraylist9
                                        assert tstringnode8 isa nullable TString
                                        var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef(
@@ -5287,7 +5302,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -5301,7 +5316,7 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist4
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist5
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist6
@@ -5336,7 +5351,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -5352,7 +5367,7 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist6
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist7
@@ -5385,7 +5400,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -5393,7 +5408,7 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist4
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist5
@@ -5428,7 +5443,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -5444,7 +5459,7 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist6
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist7
@@ -5480,7 +5495,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -5498,7 +5513,7 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist7
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist8
@@ -5532,7 +5547,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -5542,7 +5557,7 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist5
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist6
@@ -5575,7 +5590,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -5583,7 +5598,7 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist4
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist5
@@ -5617,7 +5632,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -5627,7 +5642,7 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist5
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist6
@@ -5659,9 +5674,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode6 = nodearraylist2
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       assert pvisibilitynode6 isa nullable AVisibility
                                        var tkwattrnode7 = nodearraylist3
                                        assert tkwattrnode7 isa nullable TKwattr
                                        var tattridnode9 = nodearraylist4
@@ -5696,7 +5711,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -5712,7 +5727,7 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist4
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist6
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist7
@@ -5748,7 +5763,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -5766,7 +5781,7 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist7
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist8
@@ -5800,7 +5815,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -5810,7 +5825,7 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist5
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist6
@@ -5846,7 +5861,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -5864,7 +5879,7 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist7
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist8
@@ -5901,7 +5916,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -5921,7 +5936,7 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist6
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist7
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist8
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist9
@@ -5956,7 +5971,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -5968,7 +5983,7 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist6
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist7
@@ -6002,7 +6017,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -6012,7 +6027,7 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist5
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist6
@@ -6047,7 +6062,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -6059,7 +6074,7 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist6
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist7
@@ -6092,11 +6107,11 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var pvisibilitynode6 = nodearraylist3
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       assert pvisibilitynode6 isa nullable AVisibility
                                        var tkwattrnode7 = nodearraylist4
                                        assert tkwattrnode7 isa nullable TKwattr
                                        var tattridnode9 = nodearraylist5
@@ -6131,7 +6146,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -6145,13 +6160,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist4
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist5
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist6
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist7
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6183,7 +6198,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -6199,13 +6214,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist6
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist7
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6235,7 +6250,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -6243,13 +6258,13 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist4
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist5
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist6
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6281,7 +6296,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -6297,13 +6312,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist6
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist7
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6336,7 +6351,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -6354,13 +6369,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist7
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist8
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6391,7 +6406,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -6401,13 +6416,13 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist5
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6437,7 +6452,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -6445,13 +6460,13 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist4
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist5
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist6
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -6482,7 +6497,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -6492,13 +6507,13 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist5
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -6527,15 +6542,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode6 = nodearraylist2
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       assert pvisibilitynode6 isa nullable AVisibility
                                        var tkwattrnode7 = nodearraylist3
                                        assert tkwattrnode7 isa nullable TKwattr
                                        var tattridnode9 = nodearraylist4
                                        assert tattridnode9 isa nullable TAttrid
                                        var ptypenode10 = nodearraylist5
-                                       assert ptypenode10 isa nullable PType
+                                       assert ptypenode10 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -6567,7 +6582,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -6583,13 +6598,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist4
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist6
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist7
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6622,7 +6637,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -6640,13 +6655,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist7
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist8
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6677,7 +6692,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -6687,13 +6702,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist5
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6726,7 +6741,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -6744,13 +6759,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist7
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist8
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6784,7 +6799,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -6804,13 +6819,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist6
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist7
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist8
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist9
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist10
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6842,7 +6857,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -6854,13 +6869,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist6
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist7
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist8
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -6891,7 +6906,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -6901,13 +6916,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist5
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -6939,7 +6954,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -6951,13 +6966,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist6
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist7
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist8
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -6987,17 +7002,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var pvisibilitynode6 = nodearraylist3
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       assert pvisibilitynode6 isa nullable AVisibility
                                        var tkwattrnode7 = nodearraylist4
                                        assert tkwattrnode7 isa nullable TKwattr
                                        var tattridnode9 = nodearraylist5
                                        assert tattridnode9 isa nullable TAttrid
                                        var ptypenode10 = nodearraylist6
-                                       assert ptypenode10 isa nullable PType
+                                       assert ptypenode10 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -7030,7 +7045,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -7044,13 +7059,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist4
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist5
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist6
                                        assert tattridnode13 isa nullable TAttrid
                                        var pexprnode15 = nodearraylist9
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7084,7 +7099,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -7100,13 +7115,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist6
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist7
                                        assert tattridnode13 isa nullable TAttrid
                                        var pexprnode15 = nodearraylist10
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7138,7 +7153,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -7146,13 +7161,13 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist4
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist5
                                        assert tattridnode11 isa nullable TAttrid
                                        var pexprnode13 = nodearraylist8
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7186,7 +7201,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -7202,13 +7217,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist6
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist7
                                        assert tattridnode13 isa nullable TAttrid
                                        var pexprnode15 = nodearraylist10
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7243,7 +7258,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -7261,13 +7276,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist7
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist8
                                        assert tattridnode13 isa nullable TAttrid
                                        var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7300,7 +7315,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -7310,13 +7325,13 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist5
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7348,7 +7363,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -7356,13 +7371,13 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist4
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist5
                                        assert tattridnode11 isa nullable TAttrid
                                        var pexprnode13 = nodearraylist8
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -7395,7 +7410,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -7405,13 +7420,13 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist5
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -7442,15 +7457,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode6 = nodearraylist2
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       assert pvisibilitynode6 isa nullable AVisibility
                                        var tkwattrnode7 = nodearraylist3
                                        assert tkwattrnode7 isa nullable TKwattr
                                        var tattridnode9 = nodearraylist4
                                        assert tattridnode9 isa nullable TAttrid
                                        var pexprnode11 = nodearraylist7
-                                       assert pexprnode11 isa nullable PExpr
+                                       assert pexprnode11 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -7484,7 +7499,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -7500,13 +7515,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist4
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist6
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist7
                                        assert tattridnode13 isa nullable TAttrid
                                        var pexprnode15 = nodearraylist10
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7541,7 +7556,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -7559,13 +7574,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist7
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist8
                                        assert tattridnode13 isa nullable TAttrid
                                        var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7598,7 +7613,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -7608,13 +7623,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist5
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7649,7 +7664,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -7667,13 +7682,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist7
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist8
                                        assert tattridnode13 isa nullable TAttrid
                                        var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7709,7 +7724,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -7729,13 +7744,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist6
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist7
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist8
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist9
                                        assert tattridnode13 isa nullable TAttrid
                                        var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7769,7 +7784,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -7781,13 +7796,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist6
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist7
                                        assert tattridnode11 isa nullable TAttrid
                                        var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -7820,7 +7835,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -7830,13 +7845,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist5
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -7870,7 +7885,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -7882,13 +7897,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist6
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist7
                                        assert tattridnode11 isa nullable TAttrid
                                        var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -7920,17 +7935,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var pvisibilitynode6 = nodearraylist3
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       assert pvisibilitynode6 isa nullable AVisibility
                                        var tkwattrnode7 = nodearraylist4
                                        assert tkwattrnode7 isa nullable TKwattr
                                        var tattridnode9 = nodearraylist5
                                        assert tattridnode9 isa nullable TAttrid
                                        var pexprnode11 = nodearraylist8
-                                       assert pexprnode11 isa nullable PExpr
+                                       assert pexprnode11 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -7964,7 +7979,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -7978,15 +7993,15 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist4
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist5
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist6
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist7
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist10
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8021,7 +8036,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -8037,15 +8052,15 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist6
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist7
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8078,7 +8093,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -8086,15 +8101,15 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist4
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist5
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist6
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8129,7 +8144,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -8145,15 +8160,15 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist6
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist7
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8189,7 +8204,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -8207,15 +8222,15 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist7
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist8
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8249,7 +8264,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -8259,15 +8274,15 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist5
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8300,7 +8315,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -8308,15 +8323,15 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist4
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist5
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist6
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -8350,7 +8365,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -8360,15 +8375,15 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist5
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -8400,17 +8415,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode6 = nodearraylist2
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       assert pvisibilitynode6 isa nullable AVisibility
                                        var tkwattrnode7 = nodearraylist3
                                        assert tkwattrnode7 isa nullable TKwattr
                                        var tattridnode9 = nodearraylist4
                                        assert tattridnode9 isa nullable TAttrid
                                        var ptypenode10 = nodearraylist5
-                                       assert ptypenode10 isa nullable PType
+                                       assert ptypenode10 isa nullable AType
                                        var pexprnode11 = nodearraylist8
-                                       assert pexprnode11 isa nullable PExpr
+                                       assert pexprnode11 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -8445,7 +8460,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -8461,15 +8476,15 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist4
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist6
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist7
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8505,7 +8520,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -8523,15 +8538,15 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist7
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist8
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8565,7 +8580,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -8575,15 +8590,15 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist5
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8619,7 +8634,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -8637,15 +8652,15 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist7
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist8
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8682,7 +8697,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -8702,15 +8717,15 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist6
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist7
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwattrnode11 = nodearraylist8
                                        assert tkwattrnode11 isa nullable TKwattr
                                        var tattridnode13 = nodearraylist9
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist10
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist13
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8745,7 +8760,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -8757,15 +8772,15 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist6
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist7
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist8
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist11
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -8799,7 +8814,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -8809,15 +8824,15 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist5
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -8852,7 +8867,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -8864,15 +8879,15 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwattrnode9 = nodearraylist6
                                        assert tkwattrnode9 isa nullable TKwattr
                                        var tattridnode11 = nodearraylist7
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist8
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist11
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -8905,19 +8920,19 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var pvisibilitynode6 = nodearraylist3
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       assert pvisibilitynode6 isa nullable AVisibility
                                        var tkwattrnode7 = nodearraylist4
                                        assert tkwattrnode7 isa nullable TKwattr
                                        var tattridnode9 = nodearraylist5
                                        assert tattridnode9 isa nullable TAttrid
                                        var ptypenode10 = nodearraylist6
-                                       assert ptypenode10 isa nullable PType
+                                       assert ptypenode10 isa nullable AType
                                        var pexprnode11 = nodearraylist9
-                                       assert pexprnode11 isa nullable PExpr
+                                       assert pexprnode11 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -8947,7 +8962,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -8961,7 +8976,7 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist4
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist5
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist6
@@ -8996,7 +9011,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -9012,7 +9027,7 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist6
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist7
@@ -9045,7 +9060,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -9053,7 +9068,7 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist4
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist5
@@ -9088,7 +9103,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -9104,7 +9119,7 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist6
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist7
@@ -9140,7 +9155,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -9158,7 +9173,7 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist7
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist8
@@ -9192,7 +9207,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -9202,7 +9217,7 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist5
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist6
@@ -9235,7 +9250,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -9243,7 +9258,7 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist4
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist5
@@ -9277,7 +9292,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -9287,7 +9302,7 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist5
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist6
@@ -9319,9 +9334,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode6 = nodearraylist2
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       assert pvisibilitynode6 isa nullable AVisibility
                                        var tkwvarnode8 = nodearraylist3
                                        assert tkwvarnode8 isa nullable TKwvar
                                        var tattridnode9 = nodearraylist4
@@ -9356,7 +9371,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -9372,7 +9387,7 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist4
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist6
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist7
@@ -9408,7 +9423,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -9426,7 +9441,7 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist7
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist8
@@ -9460,7 +9475,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -9470,7 +9485,7 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist5
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist6
@@ -9506,7 +9521,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -9524,7 +9539,7 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist7
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist8
@@ -9561,7 +9576,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -9581,7 +9596,7 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist6
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist7
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist8
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist9
@@ -9616,7 +9631,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -9628,7 +9643,7 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist6
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist7
@@ -9662,7 +9677,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -9672,7 +9687,7 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist5
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist6
@@ -9707,7 +9722,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -9719,7 +9734,7 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist6
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist7
@@ -9752,11 +9767,11 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var pvisibilitynode6 = nodearraylist3
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       assert pvisibilitynode6 isa nullable AVisibility
                                        var tkwvarnode8 = nodearraylist4
                                        assert tkwvarnode8 isa nullable TKwvar
                                        var tattridnode9 = nodearraylist5
@@ -9791,7 +9806,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -9805,13 +9820,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist4
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist5
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist6
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist7
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -9843,7 +9858,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -9859,13 +9874,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist6
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist7
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -9895,7 +9910,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -9903,13 +9918,13 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist4
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist5
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist6
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -9941,7 +9956,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -9957,13 +9972,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist6
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist7
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -9996,7 +10011,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -10014,13 +10029,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist7
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist8
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10051,7 +10066,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -10061,13 +10076,13 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist5
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10097,7 +10112,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -10105,13 +10120,13 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist4
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist5
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist6
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -10142,7 +10157,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -10152,13 +10167,13 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist5
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -10187,15 +10202,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode6 = nodearraylist2
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       assert pvisibilitynode6 isa nullable AVisibility
                                        var tkwvarnode8 = nodearraylist3
                                        assert tkwvarnode8 isa nullable TKwvar
                                        var tattridnode9 = nodearraylist4
                                        assert tattridnode9 isa nullable TAttrid
                                        var ptypenode10 = nodearraylist5
-                                       assert ptypenode10 isa nullable PType
+                                       assert ptypenode10 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -10227,7 +10242,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -10243,13 +10258,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist4
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist6
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist7
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10282,7 +10297,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -10300,13 +10315,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist7
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist8
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10337,7 +10352,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -10347,13 +10362,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist5
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10386,7 +10401,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -10404,13 +10419,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist7
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist8
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10444,7 +10459,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -10464,13 +10479,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist6
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist7
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist8
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist9
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist10
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10502,7 +10517,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -10514,13 +10529,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist6
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist7
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist8
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10551,7 +10566,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -10561,13 +10576,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist5
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -10599,7 +10614,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -10611,13 +10626,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist6
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist7
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist8
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -10647,17 +10662,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var pvisibilitynode6 = nodearraylist3
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       assert pvisibilitynode6 isa nullable AVisibility
                                        var tkwvarnode8 = nodearraylist4
                                        assert tkwvarnode8 isa nullable TKwvar
                                        var tattridnode9 = nodearraylist5
                                        assert tattridnode9 isa nullable TAttrid
                                        var ptypenode10 = nodearraylist6
-                                       assert ptypenode10 isa nullable PType
+                                       assert ptypenode10 isa nullable AType
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -10690,7 +10705,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -10704,13 +10719,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist4
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist5
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist6
                                        assert tattridnode13 isa nullable TAttrid
                                        var pexprnode15 = nodearraylist9
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10744,7 +10759,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -10760,13 +10775,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist6
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist7
                                        assert tattridnode13 isa nullable TAttrid
                                        var pexprnode15 = nodearraylist10
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10798,7 +10813,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -10806,13 +10821,13 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist4
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist5
                                        assert tattridnode11 isa nullable TAttrid
                                        var pexprnode13 = nodearraylist8
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10846,7 +10861,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -10862,13 +10877,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist6
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist7
                                        assert tattridnode13 isa nullable TAttrid
                                        var pexprnode15 = nodearraylist10
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10903,7 +10918,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -10921,13 +10936,13 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist7
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist8
                                        assert tattridnode13 isa nullable TAttrid
                                        var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -10960,7 +10975,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -10970,13 +10985,13 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist5
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11008,7 +11023,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -11016,13 +11031,13 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist4
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist5
                                        assert tattridnode11 isa nullable TAttrid
                                        var pexprnode13 = nodearraylist8
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -11055,7 +11070,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -11065,13 +11080,13 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist5
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -11102,15 +11117,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode6 = nodearraylist2
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       assert pvisibilitynode6 isa nullable AVisibility
                                        var tkwvarnode8 = nodearraylist3
                                        assert tkwvarnode8 isa nullable TKwvar
                                        var tattridnode9 = nodearraylist4
                                        assert tattridnode9 isa nullable TAttrid
                                        var pexprnode11 = nodearraylist7
-                                       assert pexprnode11 isa nullable PExpr
+                                       assert pexprnode11 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -11144,7 +11159,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -11160,13 +11175,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist4
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist6
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist7
                                        assert tattridnode13 isa nullable TAttrid
                                        var pexprnode15 = nodearraylist10
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11201,7 +11216,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -11219,13 +11234,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist7
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist8
                                        assert tattridnode13 isa nullable TAttrid
                                        var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11258,7 +11273,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -11268,13 +11283,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist5
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11309,7 +11324,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -11327,13 +11342,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist7
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist8
                                        assert tattridnode13 isa nullable TAttrid
                                        var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11369,7 +11384,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -11389,13 +11404,13 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist6
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist7
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist8
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist9
                                        assert tattridnode13 isa nullable TAttrid
                                        var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11429,7 +11444,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -11441,13 +11456,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist6
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist7
                                        assert tattridnode11 isa nullable TAttrid
                                        var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11480,7 +11495,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -11490,13 +11505,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist5
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -11530,7 +11545,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -11542,13 +11557,13 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist6
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist7
                                        assert tattridnode11 isa nullable TAttrid
                                        var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -11580,17 +11595,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var pvisibilitynode6 = nodearraylist3
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       assert pvisibilitynode6 isa nullable AVisibility
                                        var tkwvarnode8 = nodearraylist4
                                        assert tkwvarnode8 isa nullable TKwvar
                                        var tattridnode9 = nodearraylist5
                                        assert tattridnode9 isa nullable TAttrid
                                        var pexprnode11 = nodearraylist8
-                                       assert pexprnode11 isa nullable PExpr
+                                       assert pexprnode11 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -11624,7 +11639,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -11638,15 +11653,15 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist4
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist5
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist6
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist7
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist10
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11681,7 +11696,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -11697,15 +11712,15 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist6
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist7
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11738,7 +11753,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -11746,15 +11761,15 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist4
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist5
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist6
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11789,7 +11804,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -11805,15 +11820,15 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist6
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist7
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11849,7 +11864,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -11867,15 +11882,15 @@ special ReduceAction
                                                tkwwritablenode8
                                        )
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist7
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist8
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11909,7 +11924,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -11919,15 +11934,15 @@ special ReduceAction
                                                tkwreadablenode5
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist5
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -11960,7 +11975,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -11968,15 +11983,15 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist3
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist4
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist5
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist6
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist9
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -12010,7 +12025,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -12020,15 +12035,15 @@ special ReduceAction
                                                tkwwritablenode6
                                        )
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist5
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -12060,17 +12075,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode6 = nodearraylist2
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       assert pvisibilitynode6 isa nullable AVisibility
                                        var tkwvarnode8 = nodearraylist3
                                        assert tkwvarnode8 isa nullable TKwvar
                                        var tattridnode9 = nodearraylist4
                                        assert tattridnode9 isa nullable TAttrid
                                        var ptypenode10 = nodearraylist5
-                                       assert ptypenode10 isa nullable PType
+                                       assert ptypenode10 isa nullable AType
                                        var pexprnode11 = nodearraylist8
-                                       assert pexprnode11 isa nullable PExpr
+                                       assert pexprnode11 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -12105,7 +12120,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -12121,15 +12136,15 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist4
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist5
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist6
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist7
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist8
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist11
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -12165,7 +12180,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -12183,15 +12198,15 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist7
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist8
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -12225,7 +12240,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwreadablenode5 = nodearraylist2
                                        assert tkwreadablenode5 isa nullable TKwreadable
                                        var pablenode3: nullable AReadAble = new AReadAble.init_areadable(
@@ -12235,15 +12250,15 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist5
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -12279,7 +12294,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -12297,15 +12312,15 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist5
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist6
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist7
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist8
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist9
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist12
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -12342,7 +12357,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -12362,15 +12377,15 @@ special ReduceAction
                                        var tkwredefnode9 = nodearraylist6
                                        assert tkwredefnode9 isa nullable TKwredef
                                        var pvisibilitynode10 = nodearraylist7
-                                       assert pvisibilitynode10 isa nullable PVisibility
+                                       assert pvisibilitynode10 isa nullable AVisibility
                                        var tkwvarnode12 = nodearraylist8
                                        assert tkwvarnode12 isa nullable TKwvar
                                        var tattridnode13 = nodearraylist9
                                        assert tattridnode13 isa nullable TAttrid
                                        var ptypenode14 = nodearraylist10
-                                       assert ptypenode14 isa nullable PType
+                                       assert ptypenode14 isa nullable AType
                                        var pexprnode15 = nodearraylist13
-                                       assert pexprnode15 isa nullable PExpr
+                                       assert pexprnode15 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -12405,7 +12420,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode4 = nodearraylist2
                                        assert tkwredefnode4 isa nullable TKwredef
                                        var tkwreadablenode5 = nodearraylist3
@@ -12417,15 +12432,15 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist6
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist7
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist8
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist11
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                pablenode3,
@@ -12459,7 +12474,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwwritablenode6 = nodearraylist2
                                        assert tkwwritablenode6 isa nullable TKwwritable
                                        var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable(
@@ -12469,15 +12484,15 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist3
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist4
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist5
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist6
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist7
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist10
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -12512,7 +12527,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var tkwwritablenode6 = nodearraylist3
@@ -12524,15 +12539,15 @@ special ReduceAction
                                        var tkwredefnode7 = nodearraylist4
                                        assert tkwredefnode7 isa nullable TKwredef
                                        var pvisibilitynode8 = nodearraylist5
-                                       assert pvisibilitynode8 isa nullable PVisibility
+                                       assert pvisibilitynode8 isa nullable AVisibility
                                        var tkwvarnode10 = nodearraylist6
                                        assert tkwvarnode10 isa nullable TKwvar
                                        var tattridnode11 = nodearraylist7
                                        assert tattridnode11 isa nullable TAttrid
                                        var ptypenode12 = nodearraylist8
-                                       assert ptypenode12 isa nullable PType
+                                       assert ptypenode12 isa nullable AType
                                        var pexprnode13 = nodearraylist11
-                                       assert pexprnode13 isa nullable PExpr
+                                       assert pexprnode13 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -12565,19 +12580,19 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode5 = nodearraylist2
                                        assert tkwredefnode5 isa nullable TKwredef
                                        var pvisibilitynode6 = nodearraylist3
-                                       assert pvisibilitynode6 isa nullable PVisibility
+                                       assert pvisibilitynode6 isa nullable AVisibility
                                        var tkwvarnode8 = nodearraylist4
                                        assert tkwvarnode8 isa nullable TKwvar
                                        var tattridnode9 = nodearraylist5
                                        assert tattridnode9 isa nullable TAttrid
                                        var ptypenode10 = nodearraylist6
-                                       assert ptypenode10 isa nullable PType
+                                       assert ptypenode10 isa nullable AType
                                        var pexprnode11 = nodearraylist9
-                                       assert pexprnode11 isa nullable PExpr
+                                       assert pexprnode11 isa nullable AExpr
                                        var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
                                                pdocnode2,
                                                null,
@@ -12607,15 +12622,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwinitnode5 = nodearraylist3
                                        assert tkwinitnode5 isa nullable TKwinit
                                        var psignaturenode7 = nodearraylist4
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist6
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
                                                pdocnode2,
                                                null,
@@ -12643,17 +12658,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwinitnode5 = nodearraylist4
                                        assert tkwinitnode5 isa nullable TKwinit
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist7
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -12681,17 +12696,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwinitnode5 = nodearraylist3
                                        assert tkwinitnode5 isa nullable TKwinit
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist7
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
                                                pdocnode2,
                                                null,
@@ -12720,19 +12735,19 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwinitnode5 = nodearraylist4
                                        assert tkwinitnode5 isa nullable TKwinit
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist8
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -12760,15 +12775,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwinitnode5 = nodearraylist3
                                        assert tkwinitnode5 isa nullable TKwinit
                                        var psignaturenode7 = nodearraylist4
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist6
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
                                                pdocnode2,
                                                null,
@@ -12797,17 +12812,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwinitnode5 = nodearraylist4
                                        assert tkwinitnode5 isa nullable TKwinit
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist7
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -12836,17 +12851,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwinitnode5 = nodearraylist3
                                        assert tkwinitnode5 isa nullable TKwinit
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist7
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
                                                pdocnode2,
                                                null,
@@ -12876,19 +12891,19 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwinitnode5 = nodearraylist4
                                        assert tkwinitnode5 isa nullable TKwinit
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist8
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -12914,15 +12929,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwtypenode5 = nodearraylist3
                                        assert tkwtypenode5 isa nullable TKwtype
                                        var tclassidnode6 = nodearraylist4
                                        assert tclassidnode6 isa nullable TClassid
                                        var ptypenode7 = nodearraylist5
-                                       assert ptypenode7 isa nullable PType
+                                       assert ptypenode7 isa nullable AType
                                        var ppropdefnode1: nullable ATypePropdef = new ATypePropdef.init_atypepropdef(
                                                pdocnode2,
                                                null,
@@ -12948,17 +12963,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwtypenode5 = nodearraylist4
                                        assert tkwtypenode5 isa nullable TKwtype
                                        var tclassidnode6 = nodearraylist5
                                        assert tclassidnode6 isa nullable TClassid
                                        var ptypenode7 = nodearraylist6
-                                       assert ptypenode7 isa nullable PType
+                                       assert ptypenode7 isa nullable AType
                                        var ppropdefnode1: nullable ATypePropdef = new ATypePropdef.init_atypepropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -13381,7 +13396,7 @@ special ReduceAction
                                        var listnode2 = new Array[Object]
                                        var listnode5 = new Array[Object]
                                        var ptypenode3 = nodearraylist1
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var listnode4 = nodearraylist2
                                        assert listnode4 isa Array[Object]
 #                                      if listnode4 != null then
@@ -13421,7 +13436,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ptypenode4 = nodearraylist2
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var listnode5 = nodearraylist3
                                        assert listnode5 isa Array[Object]
 #                                      if listnode5 != null then
@@ -13497,7 +13512,7 @@ special ReduceAction
                                        var listnode2 = new Array[Object]
                                        var listnode4 = new Array[Object]
                                        var ptypenode3 = nodearraylist1
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
                                                listnode2,
                                                ptypenode3,
@@ -13528,7 +13543,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ptypenode4 = nodearraylist2
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
                                                listnode3,
                                                ptypenode4,
@@ -13592,7 +13607,7 @@ special ReduceAction
                                        var listnode2 = new Array[Object]
                                        var listnode4 = new Array[Object]
                                        var ptypenode3 = nodearraylist1
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
                                                listnode2,
                                                ptypenode3,
@@ -13622,7 +13637,7 @@ special ReduceAction
                                                end
 #                                      end
                                        var ptypenode4 = nodearraylist2
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
                                                listnode3,
                                                ptypenode4,
@@ -13645,7 +13660,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pparamnode1 = nodearraylist3
-                                       assert pparamnode1 isa nullable PParam
+                                       assert pparamnode1 isa nullable AParam
                                        if pparamnode1 != null then
                                                listnode2.add(pparamnode1)
                                        end
@@ -13667,7 +13682,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pparamnode1 = nodearraylist3
-                                       assert pparamnode1 isa nullable PParam
+                                       assert pparamnode1 isa nullable AParam
                                        var listnode2 = nodearraylist4
                                        assert listnode2 isa Array[Object]
                                        if pparamnode1 != null then
@@ -13708,7 +13723,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pparamnode1 = nodearraylist3
-                                       assert pparamnode1 isa nullable PParam
+                                       assert pparamnode1 isa nullable AParam
                                        node_list = pparamnode1
                                        p.push(p.go_to(18), node_list)
        end
@@ -13742,7 +13757,7 @@ special ReduceAction
                                        var tidnode2 = nodearraylist1
                                        assert tidnode2 isa nullable TId
                                        var ptypenode3 = nodearraylist2
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var pparamnode1: nullable AParam = new AParam.init_aparam(
                                                tidnode2,
                                                ptypenode3,
@@ -13764,7 +13779,7 @@ special ReduceAction
                                        var tidnode2 = nodearraylist1
                                        assert tidnode2 isa nullable TId
                                        var ptypenode3 = nodearraylist2
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var tdotdotdotnode4 = nodearraylist3
                                        assert tdotdotdotnode4 isa nullable TDotdotdot
                                        var pparamnode1: nullable AParam = new AParam.init_aparam(
@@ -13814,7 +13829,7 @@ special ReduceAction
                                        var tidnode4 = nodearraylist3
                                        assert tidnode4 isa nullable TId
                                        var psignaturenode5 = nodearraylist4
-                                       assert psignaturenode5 isa nullable PSignature
+                                       assert psignaturenode5 isa nullable ASignature
                                        var pclosuredeclnode1: nullable AClosureDecl = new AClosureDecl.init_aclosuredecl(
                                                tkwwithnode2,
                                                null,
@@ -13845,7 +13860,7 @@ special ReduceAction
                                        var tidnode4 = nodearraylist4
                                        assert tidnode4 isa nullable TId
                                        var psignaturenode5 = nodearraylist5
-                                       assert psignaturenode5 isa nullable PSignature
+                                       assert psignaturenode5 isa nullable ASignature
                                        var pclosuredeclnode1: nullable AClosureDecl = new AClosureDecl.init_aclosuredecl(
                                                tkwwithnode2,
                                                tkwbreaknode3,
@@ -13875,9 +13890,9 @@ special ReduceAction
                                        var tidnode4 = nodearraylist3
                                        assert tidnode4 isa nullable TId
                                        var psignaturenode5 = nodearraylist4
-                                       assert psignaturenode5 isa nullable PSignature
+                                       assert psignaturenode5 isa nullable ASignature
                                        var pexprnode6 = nodearraylist6
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pclosuredeclnode1: nullable AClosureDecl = new AClosureDecl.init_aclosuredecl(
                                                tkwwithnode2,
                                                null,
@@ -13910,9 +13925,9 @@ special ReduceAction
                                        var tidnode4 = nodearraylist4
                                        assert tidnode4 isa nullable TId
                                        var psignaturenode5 = nodearraylist5
-                                       assert psignaturenode5 isa nullable PSignature
+                                       assert psignaturenode5 isa nullable ASignature
                                        var pexprnode6 = nodearraylist7
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pclosuredeclnode1: nullable AClosureDecl = new AClosureDecl.init_aclosuredecl(
                                                tkwwithnode2,
                                                tkwbreaknode3,
@@ -14043,7 +14058,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var ptypenode1 = nodearraylist1
-                                       assert ptypenode1 isa nullable PType
+                                       assert ptypenode1 isa nullable AType
                                        if ptypenode1 != null then
                                                listnode2.add(ptypenode1)
                                        end
@@ -14061,7 +14076,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var ptypenode1 = nodearraylist1
-                                       assert ptypenode1 isa nullable PType
+                                       assert ptypenode1 isa nullable AType
                                        var listnode2 = nodearraylist2
                                        assert listnode2 isa Array[Object]
                                        if ptypenode1 != null then
@@ -14088,7 +14103,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var ptypenode1 = nodearraylist3
-                                       assert ptypenode1 isa nullable PType
+                                       assert ptypenode1 isa nullable AType
                                        node_list = ptypenode1
                                        p.push(p.go_to(24), node_list)
        end
@@ -14103,7 +14118,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var ptypenode1 = nodearraylist3
-                                       assert ptypenode1 isa nullable PType
+                                       assert ptypenode1 isa nullable AType
                                        node_list = ptypenode1
                                        p.push(p.go_to(25), node_list)
        end
@@ -14116,7 +14131,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(26), node_list)
        end
@@ -14133,7 +14148,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pexprnode2 = nodearraylist2
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        if pexprnode2 != null then
                                                listnode3.add(pexprnode2)
                                        end
@@ -14157,7 +14172,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
                                        var pexprnode2 = nodearraylist2
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var listnode3 = nodearraylist3
                                        assert listnode3 isa Array[Object]
                                        if pexprnode2 != null then
@@ -14217,7 +14232,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist2
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(27), node_list)
        end
@@ -14230,7 +14245,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(28), node_list)
        end
@@ -14243,7 +14258,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(28), node_list)
        end
@@ -14276,7 +14291,7 @@ special ReduceAction
                                        var tkwreturnnode2 = nodearraylist1
                                        assert tkwreturnnode2 isa nullable TKwreturn
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AReturnExpr = new AReturnExpr.init_areturnexpr(
                                                tkwreturnnode2,
                                                pexprnode3
@@ -14313,7 +14328,7 @@ special ReduceAction
                                        var tkwbreaknode2 = nodearraylist1
                                        assert tkwbreaknode2 isa nullable TKwbreak
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ABreakExpr = new ABreakExpr.init_abreakexpr(
                                                tkwbreaknode2,
                                                pexprnode3
@@ -14366,7 +14381,7 @@ special ReduceAction
                                        var tkwcontinuenode2 = nodearraylist1
                                        assert tkwcontinuenode2 isa nullable TKwcontinue
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AContinueExpr = new AContinueExpr.init_acontinueexpr(
                                                tkwcontinuenode2,
                                                pexprnode3
@@ -14383,7 +14398,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(28), node_list)
        end
@@ -14396,7 +14411,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(28), node_list)
        end
@@ -14409,7 +14424,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(28), node_list)
        end
@@ -14422,7 +14437,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(28), node_list)
        end
@@ -14435,7 +14450,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(28), node_list)
        end
@@ -14454,7 +14469,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -14524,7 +14539,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -14638,7 +14653,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pqualifiednode2 = nodearraylist1
-                                       assert pqualifiednode2 isa nullable PQualified
+                                       assert pqualifiednode2 isa nullable AQualified
                                        var tkwsupernode3 = nodearraylist2
                                        assert tkwsupernode3 isa nullable TKwsuper
                                        var listnode4 = nodearraylist3
@@ -14672,7 +14687,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwinitnode3 = nodearraylist4
                                        assert tkwinitnode3 isa nullable TKwinit
                                        var listnode4 = nodearraylist5
@@ -14733,7 +14748,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pclosuredefnode1 = nodearraylist1
-                                       assert pclosuredefnode1 isa nullable PClosureDef
+                                       assert pclosuredefnode1 isa nullable AClosureDef
                                        if pclosuredefnode1 != null then
                                                listnode2.add(pclosuredefnode1)
                                        end
@@ -14751,7 +14766,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pclosuredefnode1 = nodearraylist1
-                                       assert pclosuredefnode1 isa nullable PClosureDef
+                                       assert pclosuredefnode1 isa nullable AClosureDef
                                        var listnode2 = nodearraylist2
                                        assert listnode2 isa Array[Object]
                                        if pclosuredefnode1 != null then
@@ -14783,7 +14798,7 @@ special ReduceAction
                                        var tkwdonode4 = nodearraylist2
                                        assert tkwdonode4 isa nullable TKwdo
                                        var pexprnode5 = nodearraylist3
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
                                                tkwwithnode2,
                                                listnode3,
@@ -14819,7 +14834,7 @@ special ReduceAction
                                        var tkwdonode5 = nodearraylist3
                                        assert tkwdonode5 isa nullable TKwdo
                                        var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
                                                tkwwithnode2,
                                                listnode4,
@@ -14848,7 +14863,7 @@ special ReduceAction
                                        assert tkwdonode4 isa nullable TKwdo
                                        var listnode7 = new Array[Object]
                                        var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        if pexprnode6 != null then
                                                listnode7.add(pexprnode6)
                                        end
@@ -14884,7 +14899,7 @@ special ReduceAction
                                        assert tkwdonode4 isa nullable TKwdo
                                        var listnode8 = new Array[Object]
                                        var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var listnode7 = nodearraylist5
                                        assert listnode7 isa Array[Object]
                                        if pexprnode6 != null then
@@ -14938,7 +14953,7 @@ special ReduceAction
                                        assert tkwdonode5 isa nullable TKwdo
                                        var listnode8 = new Array[Object]
                                        var pexprnode7 = nodearraylist5
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        if pexprnode7 != null then
                                                listnode8.add(pexprnode7)
                                        end
@@ -14984,7 +14999,7 @@ special ReduceAction
                                        assert tkwdonode5 isa nullable TKwdo
                                        var listnode9 = new Array[Object]
                                        var pexprnode7 = nodearraylist5
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var listnode8 = nodearraylist6
                                        assert listnode8 isa Array[Object]
                                        if pexprnode7 != null then
@@ -15105,7 +15120,7 @@ special ReduceAction
                                        var tidnode3 = nodearraylist2
                                        assert tidnode3 isa nullable TId
                                        var ptypenode4 = nodearraylist3
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
                                                tkwvarnode2,
                                                tidnode3,
@@ -15135,7 +15150,7 @@ special ReduceAction
                                        var tassignnode5 = nodearraylist3
                                        assert tassignnode5 isa nullable TAssign
                                        var pexprnode6 = nodearraylist5
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
                                                tkwvarnode2,
                                                tidnode3,
@@ -15164,11 +15179,11 @@ special ReduceAction
                                        var tidnode3 = nodearraylist2
                                        assert tidnode3 isa nullable TId
                                        var ptypenode4 = nodearraylist3
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var tassignnode5 = nodearraylist4
                                        assert tassignnode5 isa nullable TAssign
                                        var pexprnode6 = nodearraylist6
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
                                                tkwvarnode2,
                                                tidnode3,
@@ -15193,13 +15208,13 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tattridnode3 = nodearraylist4
                                        assert tattridnode3 isa nullable TAttrid
                                        var tassignnode4 = nodearraylist5
                                        assert tassignnode4 isa nullable TAssign
                                        var pexprnode5 = nodearraylist6
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AAttrAssignExpr = new AAttrAssignExpr.init_aattrassignexpr(
                                                pexprnode2,
                                                tattridnode3,
@@ -15226,7 +15241,7 @@ special ReduceAction
                                        var tassignnode4 = nodearraylist2
                                        assert tassignnode4 isa nullable TAssign
                                        var pexprnode5 = nodearraylist3
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AAttrAssignExpr = new AAttrAssignExpr.init_aattrassignexpr(
                                                pexprnode2,
                                                tattridnode3,
@@ -15252,7 +15267,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -15267,7 +15282,7 @@ special ReduceAction
                                        var tassignnode6 = nodearraylist6
                                        assert tassignnode6 isa nullable TAssign
                                        var pexprnode7 = nodearraylist7
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
                                                tidnode3,
@@ -15306,7 +15321,7 @@ special ReduceAction
                                        var tassignnode6 = nodearraylist3
                                        assert tassignnode6 isa nullable TAssign
                                        var pexprnode7 = nodearraylist4
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
                                                tidnode3,
@@ -15330,7 +15345,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -15343,7 +15358,7 @@ special ReduceAction
                                        var tassignnode5 = nodearraylist3
                                        assert tassignnode5 isa nullable TAssign
                                        var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable ABraAssignExpr = new ABraAssignExpr.init_abraassignexpr(
                                                pexprnode2,
                                                listnode4,
@@ -15367,13 +15382,13 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tattridnode3 = nodearraylist4
                                        assert tattridnode3 isa nullable TAttrid
                                        var passignopnode4 = nodearraylist5
-                                       assert passignopnode4 isa nullable PAssignOp
+                                       assert passignopnode4 isa nullable AAssignOp
                                        var pexprnode5 = nodearraylist6
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AAttrReassignExpr = new AAttrReassignExpr.init_aattrreassignexpr(
                                                pexprnode2,
                                                tattridnode3,
@@ -15398,9 +15413,9 @@ special ReduceAction
                                        var tattridnode3 = nodearraylist1
                                        assert tattridnode3 isa nullable TAttrid
                                        var passignopnode4 = nodearraylist2
-                                       assert passignopnode4 isa nullable PAssignOp
+                                       assert passignopnode4 isa nullable AAssignOp
                                        var pexprnode5 = nodearraylist3
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AAttrReassignExpr = new AAttrReassignExpr.init_aattrreassignexpr(
                                                pexprnode2,
                                                tattridnode3,
@@ -15426,7 +15441,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -15439,9 +15454,9 @@ special ReduceAction
                                                end
 #                                      end
                                        var passignopnode6 = nodearraylist6
-                                       assert passignopnode6 isa nullable PAssignOp
+                                       assert passignopnode6 isa nullable AAssignOp
                                        var pexprnode7 = nodearraylist7
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
                                                tidnode3,
@@ -15478,9 +15493,9 @@ special ReduceAction
                                                end
 #                                      end
                                        var passignopnode6 = nodearraylist3
-                                       assert passignopnode6 isa nullable PAssignOp
+                                       assert passignopnode6 isa nullable AAssignOp
                                        var pexprnode7 = nodearraylist4
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
                                                tidnode3,
@@ -15504,7 +15519,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -15515,9 +15530,9 @@ special ReduceAction
                                                end
 #                                      end
                                        var passignopnode5 = nodearraylist3
-                                       assert passignopnode5 isa nullable PAssignOp
+                                       assert passignopnode5 isa nullable AAssignOp
                                        var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable ABraReassignExpr = new ABraReassignExpr.init_abrareassignexpr(
                                                pexprnode2,
                                                listnode4,
@@ -15571,7 +15586,7 @@ special ReduceAction
                                        var tkwdonode2 = nodearraylist1
                                        assert tkwdonode2 isa nullable TKwdo
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ADoExpr = new ADoExpr.init_adoexpr(
                                                tkwdonode2,
                                                pexprnode3
@@ -15597,11 +15612,11 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode4 = nodearraylist6
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode5 = nodearraylist8
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -15627,9 +15642,9 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode4 = nodearraylist6
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -15658,10 +15673,10 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var listnode6 = new Array[Object]
                                        var pexprnode5 = nodearraylist7
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        if pexprnode5 != null then
                                                listnode6.add(pexprnode5)
                                        end
@@ -15669,7 +15684,7 @@ special ReduceAction
                                                listnode6
                                        )
                                        var pexprnode7 = nodearraylist9
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -15699,10 +15714,10 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var listnode7 = new Array[Object]
                                        var pexprnode5 = nodearraylist7
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var listnode6 = nodearraylist8
                                        assert listnode6 isa Array[Object]
                                        if pexprnode5 != null then
@@ -15719,7 +15734,7 @@ special ReduceAction
                                                listnode7
                                        )
                                        var pexprnode8 = nodearraylist10
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -15745,9 +15760,9 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode5 = nodearraylist6
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -15774,9 +15789,9 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode5 = nodearraylist7
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -15796,7 +15811,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist2
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(37), node_list)
        end
@@ -15827,11 +15842,11 @@ special ReduceAction
                                        var tkwwhilenode2 = nodearraylist1
                                        assert tkwwhilenode2 isa nullable TKwwhile
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var tkwdonode4 = nodearraylist5
                                        assert tkwdonode4 isa nullable TKwdo
                                        var pexprnode5 = nodearraylist6
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AWhileExpr = new AWhileExpr.init_awhileexpr(
                                                tkwwhilenode2,
                                                pexprnode3,
@@ -15863,11 +15878,11 @@ special ReduceAction
                                        var tidnode3 = nodearraylist3
                                        assert tidnode3 isa nullable TId
                                        var pexprnode4 = nodearraylist7
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        var tkwdonode5 = nodearraylist9
                                        assert tkwdonode5 isa nullable TKwdo
                                        var pexprnode6 = nodearraylist10
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
                                                tkwfornode2,
                                                tidnode3,
@@ -15890,7 +15905,7 @@ special ReduceAction
                                        var tkwassertnode2 = nodearraylist1
                                        assert tkwassertnode2 isa nullable TKwassert
                                        var pexprnode4 = nodearraylist2
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AAssertExpr = new AAssertExpr.init_aassertexpr(
                                                tkwassertnode2,
                                                null,
@@ -15914,7 +15929,7 @@ special ReduceAction
                                        var tidnode3 = nodearraylist2
                                        assert tidnode3 isa nullable TId
                                        var pexprnode4 = nodearraylist3
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AAssertExpr = new AAssertExpr.init_aassertexpr(
                                                tkwassertnode2,
                                                tidnode3,
@@ -15946,7 +15961,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(42), node_list)
        end
@@ -15966,7 +15981,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -16052,7 +16067,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -16088,7 +16103,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(43), node_list)
        end
@@ -16113,15 +16128,15 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var tkwthennode4 = nodearraylist5
                                        assert tkwthennode4 isa nullable TKwthen
                                        var pexprnode5 = nodearraylist7
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var tkwelsenode6 = nodearraylist9
                                        assert tkwelsenode6 isa nullable TKwelse
                                        var pexprnode7 = nodearraylist11
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AIfexprExpr = new AIfexprExpr.init_aifexprexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -16142,7 +16157,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(44), node_list)
        end
@@ -16158,9 +16173,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AOrExpr = new AOrExpr.init_aorexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16180,9 +16195,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AAndExpr = new AAndExpr.init_aandexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16199,7 +16214,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(45), node_list)
        end
@@ -16216,7 +16231,7 @@ special ReduceAction
                                        var tkwnotnode2 = nodearraylist1
                                        assert tkwnotnode2 isa nullable TKwnot
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ANotExpr = new ANotExpr.init_anotexpr(
                                                tkwnotnode2,
                                                pexprnode3
@@ -16233,7 +16248,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(46), node_list)
        end
@@ -16249,9 +16264,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AEqExpr = new AEqExpr.init_aeqexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16271,9 +16286,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AEeExpr = new AEeExpr.init_aeeexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16293,9 +16308,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ANeExpr = new ANeExpr.init_aneexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16315,9 +16330,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ALtExpr = new ALtExpr.init_altexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16337,9 +16352,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ALeExpr = new ALeExpr.init_aleexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16359,9 +16374,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AGtExpr = new AGtExpr.init_agtexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16381,9 +16396,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AGeExpr = new AGeExpr.init_ageexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16403,9 +16418,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AStarshipExpr = new AStarshipExpr.init_astarshipexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16425,9 +16440,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var ptypenode3 = nodearraylist4
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var pexprnode1: nullable AIsaExpr = new AIsaExpr.init_aisaexpr(
                                                pexprnode2,
                                                ptypenode3
@@ -16444,7 +16459,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(47), node_list)
        end
@@ -16460,9 +16475,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable APlusExpr = new APlusExpr.init_aplusexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16482,9 +16497,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AMinusExpr = new AMinusExpr.init_aminusexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16501,7 +16516,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(48), node_list)
        end
@@ -16517,9 +16532,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AStarExpr = new AStarExpr.init_astarexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16539,9 +16554,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ASlashExpr = new ASlashExpr.init_aslashexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16561,9 +16576,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable APercentExpr = new APercentExpr.init_apercentexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -16580,7 +16595,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(49), node_list)
        end
@@ -16597,7 +16612,7 @@ special ReduceAction
                                        var tminusnode2 = nodearraylist1
                                        assert tminusnode2 isa nullable TMinus
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AUminusExpr = new AUminusExpr.init_auminusexpr(
                                                tminusnode2,
                                                pexprnode3
@@ -16618,7 +16633,7 @@ special ReduceAction
                                        var tkwoncenode2 = nodearraylist1
                                        assert tkwoncenode2 isa nullable TKwonce
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AOnceExpr = new AOnceExpr.init_aonceexpr(
                                                tkwoncenode2,
                                                pexprnode3
@@ -16635,7 +16650,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(50), node_list)
        end
@@ -16654,7 +16669,7 @@ special ReduceAction
                                        var tkwnewnode2 = nodearraylist1
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var listnode5 = nodearraylist4
                                        assert listnode5 isa Array[Object]
 #                                      if listnode5 != null then
@@ -16688,7 +16703,7 @@ special ReduceAction
                                        var tkwissetnode2 = nodearraylist1
                                        assert tkwissetnode2 isa nullable TKwisset
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var tattridnode4 = nodearraylist5
                                        assert tattridnode4 isa nullable TAttrid
                                        var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr(
@@ -16734,7 +16749,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tattridnode3 = nodearraylist4
                                        assert tattridnode3 isa nullable TAttrid
                                        var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr(
@@ -16778,7 +16793,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -16873,7 +16888,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pqualifiednode2 = nodearraylist1
-                                       assert pqualifiednode2 isa nullable PQualified
+                                       assert pqualifiednode2 isa nullable AQualified
                                        var tkwsupernode3 = nodearraylist2
                                        assert tkwsupernode3 isa nullable TKwsuper
                                        var listnode4 = nodearraylist3
@@ -16907,7 +16922,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwinitnode3 = nodearraylist4
                                        assert tkwinitnode3 isa nullable TKwinit
                                        var listnode4 = nodearraylist5
@@ -16970,7 +16985,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -17006,7 +17021,7 @@ special ReduceAction
                                        var tkwnewnode2 = nodearraylist1
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var tidnode4 = nodearraylist6
                                        assert tidnode4 isa nullable TId
                                        var listnode5 = nodearraylist7
@@ -17044,9 +17059,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist3
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist7
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ACrangeExpr = new ACrangeExpr.init_acrangeexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -17071,9 +17086,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist3
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist7
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AOrangeExpr = new AOrangeExpr.init_aorangeexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -17242,7 +17257,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(51), node_list)
        end
@@ -17257,7 +17272,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist2
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(51), node_list)
        end
@@ -17279,11 +17294,11 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwasnode3 = nodearraylist4
                                        assert tkwasnode3 isa nullable TKwas
                                        var ptypenode4 = nodearraylist8
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var pexprnode1: nullable AAsCastExpr = new AAsCastExpr.init_aascastexpr(
                                                pexprnode2,
                                                tkwasnode3,
@@ -17312,7 +17327,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwasnode3 = nodearraylist4
                                        assert tkwasnode3 isa nullable TKwas
                                        var tkwnotnode4 = nodearraylist8
@@ -17341,7 +17356,7 @@ special ReduceAction
                                        var listnode2 = nodearraylist1
                                        assert listnode2 isa Array[Object]
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
 #                                      if listnode2 != null then
                                                if listnode4.is_empty then
                                                        listnode4 = listnode2
@@ -17374,7 +17389,7 @@ special ReduceAction
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
                                        var pexprnode4 = nodearraylist3
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
 #                                      if listnode2 != null then
                                                if listnode5.is_empty then
                                                        listnode5 = listnode2
@@ -17411,9 +17426,9 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        var pexprnode2 = nodearraylist3
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        if pexprnode1 != null then
                                                listnode3.add(pexprnode1)
                                        end
@@ -17452,9 +17467,9 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        var pexprnode2 = nodearraylist3
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        if pexprnode1 != null then
                                                listnode3.add(pexprnode1)
                                        end
@@ -17510,7 +17525,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pexprnode1 = nodearraylist3
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        if pexprnode1 != null then
                                                listnode2.add(pexprnode1)
                                        end
@@ -17532,7 +17547,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pexprnode1 = nodearraylist3
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        var listnode2 = nodearraylist5
                                        assert listnode2 isa Array[Object]
                                        if pexprnode1 != null then
@@ -17587,7 +17602,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pexprnode1 = nodearraylist3
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        if pexprnode1 != null then
                                                listnode2.add(pexprnode1)
                                        end
@@ -17609,7 +17624,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pexprnode1 = nodearraylist3
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        var listnode2 = nodearraylist5
                                        assert listnode2 isa Array[Object]
                                        if pexprnode1 != null then
@@ -17635,7 +17650,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        if pexprnode1 != null then
                                                listnode2.add(pexprnode1)
                                        end
@@ -17681,7 +17696,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pexprnode1 = nodearraylist3
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        if pexprnode1 != null then
                                                listnode2.add(pexprnode1)
                                        end
@@ -17703,7 +17718,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pexprnode1 = nodearraylist3
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        var listnode2 = nodearraylist5
                                        assert listnode2 isa Array[Object]
                                        if pexprnode1 != null then
@@ -17731,7 +17746,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist3
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(61), node_list)
        end
@@ -17982,7 +17997,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pdocnode1 = nodearraylist1
-                                       assert pdocnode1 isa nullable PDoc
+                                       assert pdocnode1 isa nullable ADoc
                                        node_list = pdocnode1
                                        p.push(p.go_to(68), node_list)
        end
@@ -18029,7 +18044,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var ppropdefnode1 = nodearraylist1
-                                       assert ppropdefnode1 isa nullable PPropdef
+                                       assert ppropdefnode1 isa nullable APropdef
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(70), node_list)
        end
@@ -18048,17 +18063,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist3
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist7
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef(
                                                pdocnode2,
                                                null,
@@ -18087,19 +18102,19 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist4
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist8
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -18128,17 +18143,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist3
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist7
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef(
                                                pdocnode2,
                                                null,
@@ -18168,19 +18183,19 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist4
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var pexprnode8 = nodearraylist8
-                                       assert pexprnode8 isa nullable PExpr
+                                       assert pexprnode8 isa nullable AExpr
                                        var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -18208,15 +18223,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist3
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef(
                                                pdocnode2,
                                                null,
@@ -18245,17 +18260,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist4
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef(
                                                pdocnode2,
                                                tkwredefnode3,
@@ -18284,15 +18299,15 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var pvisibilitynode4 = nodearraylist2
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist3
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist4
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist5
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var tstringnode8 = nodearraylist8
                                        assert tstringnode8 isa nullable TString
                                        var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef(
@@ -18324,17 +18339,17 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pdocnode2 = nodearraylist1
-                                       assert pdocnode2 isa nullable PDoc
+                                       assert pdocnode2 isa nullable ADoc
                                        var tkwredefnode3 = nodearraylist2
                                        assert tkwredefnode3 isa nullable TKwredef
                                        var pvisibilitynode4 = nodearraylist3
-                                       assert pvisibilitynode4 isa nullable PVisibility
+                                       assert pvisibilitynode4 isa nullable AVisibility
                                        var tkwmethnode5 = nodearraylist4
                                        assert tkwmethnode5 isa nullable TKwmeth
                                        var pmethidnode6 = nodearraylist5
-                                       assert pmethidnode6 isa nullable PMethid
+                                       assert pmethidnode6 isa nullable AMethid
                                        var psignaturenode7 = nodearraylist6
-                                       assert psignaturenode7 isa nullable PSignature
+                                       assert psignaturenode7 isa nullable ASignature
                                        var tstringnode8 = nodearraylist9
                                        assert tstringnode8 isa nullable TString
                                        var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef(
@@ -18399,7 +18414,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(73), node_list)
        end
@@ -18419,7 +18434,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -18501,7 +18516,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(74), node_list)
        end
@@ -18526,15 +18541,15 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var tkwthennode4 = nodearraylist5
                                        assert tkwthennode4 isa nullable TKwthen
                                        var pexprnode5 = nodearraylist7
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var tkwelsenode6 = nodearraylist9
                                        assert tkwelsenode6 isa nullable TKwelse
                                        var pexprnode7 = nodearraylist11
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AIfexprExpr = new AIfexprExpr.init_aifexprexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -18555,7 +18570,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(75), node_list)
        end
@@ -18571,9 +18586,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AOrExpr = new AOrExpr.init_aorexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18593,9 +18608,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AAndExpr = new AAndExpr.init_aandexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18612,7 +18627,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(76), node_list)
        end
@@ -18629,7 +18644,7 @@ special ReduceAction
                                        var tkwnotnode2 = nodearraylist1
                                        assert tkwnotnode2 isa nullable TKwnot
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ANotExpr = new ANotExpr.init_anotexpr(
                                                tkwnotnode2,
                                                pexprnode3
@@ -18646,7 +18661,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(77), node_list)
        end
@@ -18662,9 +18677,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AEqExpr = new AEqExpr.init_aeqexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18684,9 +18699,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AEeExpr = new AEeExpr.init_aeeexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18706,9 +18721,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ANeExpr = new ANeExpr.init_aneexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18728,9 +18743,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ALtExpr = new ALtExpr.init_altexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18750,9 +18765,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ALeExpr = new ALeExpr.init_aleexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18772,9 +18787,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AGtExpr = new AGtExpr.init_agtexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18794,9 +18809,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AGeExpr = new AGeExpr.init_ageexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18816,9 +18831,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AStarshipExpr = new AStarshipExpr.init_astarshipexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18838,9 +18853,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var ptypenode3 = nodearraylist4
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var pexprnode1: nullable AIsaExpr = new AIsaExpr.init_aisaexpr(
                                                pexprnode2,
                                                ptypenode3
@@ -18857,7 +18872,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(78), node_list)
        end
@@ -18873,9 +18888,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable APlusExpr = new APlusExpr.init_aplusexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18895,9 +18910,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AMinusExpr = new AMinusExpr.init_aminusexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18914,7 +18929,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(79), node_list)
        end
@@ -18930,9 +18945,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AStarExpr = new AStarExpr.init_astarexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18952,9 +18967,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ASlashExpr = new ASlashExpr.init_aslashexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18974,9 +18989,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable APercentExpr = new APercentExpr.init_apercentexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -18993,7 +19008,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(80), node_list)
        end
@@ -19010,7 +19025,7 @@ special ReduceAction
                                        var tminusnode2 = nodearraylist1
                                        assert tminusnode2 isa nullable TMinus
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AUminusExpr = new AUminusExpr.init_auminusexpr(
                                                tminusnode2,
                                                pexprnode3
@@ -19031,7 +19046,7 @@ special ReduceAction
                                        var tkwoncenode2 = nodearraylist1
                                        assert tkwoncenode2 isa nullable TKwonce
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AOnceExpr = new AOnceExpr.init_aonceexpr(
                                                tkwoncenode2,
                                                pexprnode3
@@ -19048,7 +19063,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(81), node_list)
        end
@@ -19067,7 +19082,7 @@ special ReduceAction
                                        var tkwnewnode2 = nodearraylist1
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var listnode5 = nodearraylist4
                                        assert listnode5 isa Array[Object]
 #                                      if listnode5 != null then
@@ -19101,7 +19116,7 @@ special ReduceAction
                                        var tkwissetnode2 = nodearraylist1
                                        assert tkwissetnode2 isa nullable TKwisset
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var tattridnode4 = nodearraylist5
                                        assert tattridnode4 isa nullable TAttrid
                                        var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr(
@@ -19147,7 +19162,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tattridnode3 = nodearraylist4
                                        assert tattridnode3 isa nullable TAttrid
                                        var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr(
@@ -19191,7 +19206,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -19286,7 +19301,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pqualifiednode2 = nodearraylist1
-                                       assert pqualifiednode2 isa nullable PQualified
+                                       assert pqualifiednode2 isa nullable AQualified
                                        var tkwsupernode3 = nodearraylist2
                                        assert tkwsupernode3 isa nullable TKwsuper
                                        var listnode4 = nodearraylist3
@@ -19320,7 +19335,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwinitnode3 = nodearraylist4
                                        assert tkwinitnode3 isa nullable TKwinit
                                        var listnode4 = nodearraylist5
@@ -19389,7 +19404,7 @@ special ReduceAction
                                        var tkwnewnode2 = nodearraylist1
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var tidnode4 = nodearraylist6
                                        assert tidnode4 isa nullable TId
                                        var listnode5 = nodearraylist7
@@ -19547,7 +19562,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(82), node_list)
        end
@@ -19562,7 +19577,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist2
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(82), node_list)
        end
@@ -19584,11 +19599,11 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwasnode3 = nodearraylist4
                                        assert tkwasnode3 isa nullable TKwas
                                        var ptypenode4 = nodearraylist8
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var pexprnode1: nullable AAsCastExpr = new AAsCastExpr.init_aascastexpr(
                                                pexprnode2,
                                                tkwasnode3,
@@ -19617,7 +19632,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwasnode3 = nodearraylist4
                                        assert tkwasnode3 isa nullable TKwas
                                        var tkwnotnode4 = nodearraylist8
@@ -19642,7 +19657,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(83), node_list)
        end
@@ -19659,7 +19674,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pexprnode2 = nodearraylist2
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        if pexprnode2 != null then
                                                listnode3.add(pexprnode2)
                                        end
@@ -19683,7 +19698,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
                                        var pexprnode2 = nodearraylist2
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var listnode3 = nodearraylist3
                                        assert listnode3 isa Array[Object]
                                        if pexprnode2 != null then
@@ -19742,7 +19757,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(84), node_list)
        end
@@ -19755,7 +19770,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(84), node_list)
        end
@@ -19788,7 +19803,7 @@ special ReduceAction
                                        var tkwreturnnode2 = nodearraylist1
                                        assert tkwreturnnode2 isa nullable TKwreturn
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AReturnExpr = new AReturnExpr.init_areturnexpr(
                                                tkwreturnnode2,
                                                pexprnode3
@@ -19825,7 +19840,7 @@ special ReduceAction
                                        var tkwbreaknode2 = nodearraylist1
                                        assert tkwbreaknode2 isa nullable TKwbreak
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ABreakExpr = new ABreakExpr.init_abreakexpr(
                                                tkwbreaknode2,
                                                pexprnode3
@@ -19878,7 +19893,7 @@ special ReduceAction
                                        var tkwcontinuenode2 = nodearraylist1
                                        assert tkwcontinuenode2 isa nullable TKwcontinue
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AContinueExpr = new AContinueExpr.init_acontinueexpr(
                                                tkwcontinuenode2,
                                                pexprnode3
@@ -19895,7 +19910,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(84), node_list)
        end
@@ -19908,7 +19923,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(84), node_list)
        end
@@ -19921,7 +19936,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(84), node_list)
        end
@@ -19934,7 +19949,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(84), node_list)
        end
@@ -19947,7 +19962,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(84), node_list)
        end
@@ -19966,7 +19981,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -20036,7 +20051,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -20150,7 +20165,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pqualifiednode2 = nodearraylist1
-                                       assert pqualifiednode2 isa nullable PQualified
+                                       assert pqualifiednode2 isa nullable AQualified
                                        var tkwsupernode3 = nodearraylist2
                                        assert tkwsupernode3 isa nullable TKwsuper
                                        var listnode4 = nodearraylist3
@@ -20184,7 +20199,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwinitnode3 = nodearraylist4
                                        assert tkwinitnode3 isa nullable TKwinit
                                        var listnode4 = nodearraylist5
@@ -20245,7 +20260,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pclosuredefnode1 = nodearraylist1
-                                       assert pclosuredefnode1 isa nullable PClosureDef
+                                       assert pclosuredefnode1 isa nullable AClosureDef
                                        if pclosuredefnode1 != null then
                                                listnode2.add(pclosuredefnode1)
                                        end
@@ -20263,7 +20278,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode3 = new Array[Object]
                                        var pclosuredefnode1 = nodearraylist1
-                                       assert pclosuredefnode1 isa nullable PClosureDef
+                                       assert pclosuredefnode1 isa nullable AClosureDef
                                        var listnode2 = nodearraylist2
                                        assert listnode2 isa Array[Object]
                                        if pclosuredefnode1 != null then
@@ -20295,7 +20310,7 @@ special ReduceAction
                                        var tkwdonode4 = nodearraylist2
                                        assert tkwdonode4 isa nullable TKwdo
                                        var pexprnode5 = nodearraylist3
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
                                                tkwwithnode2,
                                                listnode3,
@@ -20331,7 +20346,7 @@ special ReduceAction
                                        var tkwdonode5 = nodearraylist3
                                        assert tkwdonode5 isa nullable TKwdo
                                        var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
                                                tkwwithnode2,
                                                listnode4,
@@ -20379,7 +20394,7 @@ special ReduceAction
                                        var tidnode3 = nodearraylist2
                                        assert tidnode3 isa nullable TId
                                        var ptypenode4 = nodearraylist3
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
                                                tkwvarnode2,
                                                tidnode3,
@@ -20409,7 +20424,7 @@ special ReduceAction
                                        var tassignnode5 = nodearraylist3
                                        assert tassignnode5 isa nullable TAssign
                                        var pexprnode6 = nodearraylist5
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
                                                tkwvarnode2,
                                                tidnode3,
@@ -20438,11 +20453,11 @@ special ReduceAction
                                        var tidnode3 = nodearraylist2
                                        assert tidnode3 isa nullable TId
                                        var ptypenode4 = nodearraylist3
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var tassignnode5 = nodearraylist4
                                        assert tassignnode5 isa nullable TAssign
                                        var pexprnode6 = nodearraylist6
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
                                                tkwvarnode2,
                                                tidnode3,
@@ -20467,13 +20482,13 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tattridnode3 = nodearraylist4
                                        assert tattridnode3 isa nullable TAttrid
                                        var tassignnode4 = nodearraylist5
                                        assert tassignnode4 isa nullable TAssign
                                        var pexprnode5 = nodearraylist6
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AAttrAssignExpr = new AAttrAssignExpr.init_aattrassignexpr(
                                                pexprnode2,
                                                tattridnode3,
@@ -20500,7 +20515,7 @@ special ReduceAction
                                        var tassignnode4 = nodearraylist2
                                        assert tassignnode4 isa nullable TAssign
                                        var pexprnode5 = nodearraylist3
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AAttrAssignExpr = new AAttrAssignExpr.init_aattrassignexpr(
                                                pexprnode2,
                                                tattridnode3,
@@ -20526,7 +20541,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -20541,7 +20556,7 @@ special ReduceAction
                                        var tassignnode6 = nodearraylist6
                                        assert tassignnode6 isa nullable TAssign
                                        var pexprnode7 = nodearraylist7
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
                                                tidnode3,
@@ -20580,7 +20595,7 @@ special ReduceAction
                                        var tassignnode6 = nodearraylist3
                                        assert tassignnode6 isa nullable TAssign
                                        var pexprnode7 = nodearraylist4
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
                                                tidnode3,
@@ -20604,7 +20619,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -20617,7 +20632,7 @@ special ReduceAction
                                        var tassignnode5 = nodearraylist3
                                        assert tassignnode5 isa nullable TAssign
                                        var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable ABraAssignExpr = new ABraAssignExpr.init_abraassignexpr(
                                                pexprnode2,
                                                listnode4,
@@ -20641,13 +20656,13 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tattridnode3 = nodearraylist4
                                        assert tattridnode3 isa nullable TAttrid
                                        var passignopnode4 = nodearraylist5
-                                       assert passignopnode4 isa nullable PAssignOp
+                                       assert passignopnode4 isa nullable AAssignOp
                                        var pexprnode5 = nodearraylist6
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AAttrReassignExpr = new AAttrReassignExpr.init_aattrreassignexpr(
                                                pexprnode2,
                                                tattridnode3,
@@ -20672,9 +20687,9 @@ special ReduceAction
                                        var tattridnode3 = nodearraylist1
                                        assert tattridnode3 isa nullable TAttrid
                                        var passignopnode4 = nodearraylist2
-                                       assert passignopnode4 isa nullable PAssignOp
+                                       assert passignopnode4 isa nullable AAssignOp
                                        var pexprnode5 = nodearraylist3
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AAttrReassignExpr = new AAttrReassignExpr.init_aattrreassignexpr(
                                                pexprnode2,
                                                tattridnode3,
@@ -20700,7 +20715,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -20713,9 +20728,9 @@ special ReduceAction
                                                end
 #                                      end
                                        var passignopnode6 = nodearraylist6
-                                       assert passignopnode6 isa nullable PAssignOp
+                                       assert passignopnode6 isa nullable AAssignOp
                                        var pexprnode7 = nodearraylist7
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
                                                tidnode3,
@@ -20752,9 +20767,9 @@ special ReduceAction
                                                end
 #                                      end
                                        var passignopnode6 = nodearraylist3
-                                       assert passignopnode6 isa nullable PAssignOp
+                                       assert passignopnode6 isa nullable AAssignOp
                                        var pexprnode7 = nodearraylist4
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
                                                tidnode3,
@@ -20778,7 +20793,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode4 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -20789,9 +20804,9 @@ special ReduceAction
                                                end
 #                                      end
                                        var passignopnode5 = nodearraylist3
-                                       assert passignopnode5 isa nullable PAssignOp
+                                       assert passignopnode5 isa nullable AAssignOp
                                        var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable ABraReassignExpr = new ABraReassignExpr.init_abrareassignexpr(
                                                pexprnode2,
                                                listnode4,
@@ -20813,7 +20828,7 @@ special ReduceAction
                                        var tkwdonode2 = nodearraylist1
                                        assert tkwdonode2 isa nullable TKwdo
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ADoExpr = new ADoExpr.init_adoexpr(
                                                tkwdonode2,
                                                pexprnode3
@@ -20839,11 +20854,11 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode4 = nodearraylist6
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode5 = nodearraylist8
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -20869,11 +20884,11 @@ special ReduceAction
                                        var tkwwhilenode2 = nodearraylist1
                                        assert tkwwhilenode2 isa nullable TKwwhile
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var tkwdonode4 = nodearraylist5
                                        assert tkwdonode4 isa nullable TKwdo
                                        var pexprnode5 = nodearraylist6
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var pexprnode1: nullable AWhileExpr = new AWhileExpr.init_awhileexpr(
                                                tkwwhilenode2,
                                                pexprnode3,
@@ -20905,11 +20920,11 @@ special ReduceAction
                                        var tidnode3 = nodearraylist3
                                        assert tidnode3 isa nullable TId
                                        var pexprnode4 = nodearraylist7
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        var tkwdonode5 = nodearraylist9
                                        assert tkwdonode5 isa nullable TKwdo
                                        var pexprnode6 = nodearraylist10
-                                       assert pexprnode6 isa nullable PExpr
+                                       assert pexprnode6 isa nullable AExpr
                                        var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
                                                tkwfornode2,
                                                tidnode3,
@@ -20932,7 +20947,7 @@ special ReduceAction
                                        var tkwassertnode2 = nodearraylist1
                                        assert tkwassertnode2 isa nullable TKwassert
                                        var pexprnode4 = nodearraylist2
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AAssertExpr = new AAssertExpr.init_aassertexpr(
                                                tkwassertnode2,
                                                null,
@@ -20956,7 +20971,7 @@ special ReduceAction
                                        var tidnode3 = nodearraylist2
                                        assert tidnode3 isa nullable TId
                                        var pexprnode4 = nodearraylist3
-                                       assert pexprnode4 isa nullable PExpr
+                                       assert pexprnode4 isa nullable AExpr
                                        var pexprnode1: nullable AAssertExpr = new AAssertExpr.init_aassertexpr(
                                                tkwassertnode2,
                                                tidnode3,
@@ -20974,7 +20989,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(94), node_list)
        end
@@ -20994,7 +21009,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -21080,7 +21095,7 @@ special ReduceAction
                                        var listnode4 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var listnode3 = nodearraylist2
                                        assert listnode3 isa Array[Object]
 #                                      if listnode3 != null then
@@ -21116,7 +21131,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(95), node_list)
        end
@@ -21136,7 +21151,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -21218,7 +21233,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(96), node_list)
        end
@@ -21238,7 +21253,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -21320,7 +21335,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(97), node_list)
        end
@@ -21345,15 +21360,15 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var tkwthennode4 = nodearraylist5
                                        assert tkwthennode4 isa nullable TKwthen
                                        var pexprnode5 = nodearraylist7
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var tkwelsenode6 = nodearraylist9
                                        assert tkwelsenode6 isa nullable TKwelse
                                        var pexprnode7 = nodearraylist11
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AIfexprExpr = new AIfexprExpr.init_aifexprexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -21374,7 +21389,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(98), node_list)
        end
@@ -21390,9 +21405,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AOrExpr = new AOrExpr.init_aorexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21412,9 +21427,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AAndExpr = new AAndExpr.init_aandexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21431,7 +21446,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(99), node_list)
        end
@@ -21448,7 +21463,7 @@ special ReduceAction
                                        var tkwnotnode2 = nodearraylist1
                                        assert tkwnotnode2 isa nullable TKwnot
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ANotExpr = new ANotExpr.init_anotexpr(
                                                tkwnotnode2,
                                                pexprnode3
@@ -21465,7 +21480,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(100), node_list)
        end
@@ -21481,9 +21496,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AEqExpr = new AEqExpr.init_aeqexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21503,9 +21518,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AEeExpr = new AEeExpr.init_aeeexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21525,9 +21540,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ANeExpr = new ANeExpr.init_aneexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21547,9 +21562,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ALtExpr = new ALtExpr.init_altexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21569,9 +21584,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ALeExpr = new ALeExpr.init_aleexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21591,9 +21606,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AGtExpr = new AGtExpr.init_agtexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21613,9 +21628,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AGeExpr = new AGeExpr.init_ageexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21635,9 +21650,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AStarshipExpr = new AStarshipExpr.init_astarshipexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21657,9 +21672,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var ptypenode3 = nodearraylist4
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var pexprnode1: nullable AIsaExpr = new AIsaExpr.init_aisaexpr(
                                                pexprnode2,
                                                ptypenode3
@@ -21676,7 +21691,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(101), node_list)
        end
@@ -21692,9 +21707,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable APlusExpr = new APlusExpr.init_aplusexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21714,9 +21729,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AMinusExpr = new AMinusExpr.init_aminusexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21733,7 +21748,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(102), node_list)
        end
@@ -21749,9 +21764,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AStarExpr = new AStarExpr.init_astarexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21771,9 +21786,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ASlashExpr = new ASlashExpr.init_aslashexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21793,9 +21808,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable APercentExpr = new APercentExpr.init_apercentexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -21812,7 +21827,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(103), node_list)
        end
@@ -21829,7 +21844,7 @@ special ReduceAction
                                        var tminusnode2 = nodearraylist1
                                        assert tminusnode2 isa nullable TMinus
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AUminusExpr = new AUminusExpr.init_auminusexpr(
                                                tminusnode2,
                                                pexprnode3
@@ -21850,7 +21865,7 @@ special ReduceAction
                                        var tkwoncenode2 = nodearraylist1
                                        assert tkwoncenode2 isa nullable TKwonce
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AOnceExpr = new AOnceExpr.init_aonceexpr(
                                                tkwoncenode2,
                                                pexprnode3
@@ -21867,7 +21882,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(104), node_list)
        end
@@ -21886,7 +21901,7 @@ special ReduceAction
                                        var tkwnewnode2 = nodearraylist1
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var listnode5 = nodearraylist4
                                        assert listnode5 isa Array[Object]
 #                                      if listnode5 != null then
@@ -21920,7 +21935,7 @@ special ReduceAction
                                        var tkwissetnode2 = nodearraylist1
                                        assert tkwissetnode2 isa nullable TKwisset
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var tattridnode4 = nodearraylist5
                                        assert tattridnode4 isa nullable TAttrid
                                        var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr(
@@ -21966,7 +21981,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tattridnode3 = nodearraylist4
                                        assert tattridnode3 isa nullable TAttrid
                                        var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr(
@@ -22010,7 +22025,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -22105,7 +22120,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pqualifiednode2 = nodearraylist1
-                                       assert pqualifiednode2 isa nullable PQualified
+                                       assert pqualifiednode2 isa nullable AQualified
                                        var tkwsupernode3 = nodearraylist2
                                        assert tkwsupernode3 isa nullable TKwsuper
                                        var listnode4 = nodearraylist3
@@ -22139,7 +22154,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwinitnode3 = nodearraylist4
                                        assert tkwinitnode3 isa nullable TKwinit
                                        var listnode4 = nodearraylist5
@@ -22208,7 +22223,7 @@ special ReduceAction
                                        var tkwnewnode2 = nodearraylist1
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var tidnode4 = nodearraylist6
                                        assert tidnode4 isa nullable TId
                                        var listnode5 = nodearraylist7
@@ -22366,7 +22381,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(105), node_list)
        end
@@ -22388,11 +22403,11 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwasnode3 = nodearraylist4
                                        assert tkwasnode3 isa nullable TKwas
                                        var ptypenode4 = nodearraylist8
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var pexprnode1: nullable AAsCastExpr = new AAsCastExpr.init_aascastexpr(
                                                pexprnode2,
                                                tkwasnode3,
@@ -22421,7 +22436,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwasnode3 = nodearraylist4
                                        assert tkwasnode3 isa nullable TKwas
                                        var tkwnotnode4 = nodearraylist8
@@ -22446,7 +22461,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(106), node_list)
        end
@@ -22466,7 +22481,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -22548,7 +22563,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(107), node_list)
        end
@@ -22573,15 +22588,15 @@ special ReduceAction
                                        var tkwifnode2 = nodearraylist1
                                        assert tkwifnode2 isa nullable TKwif
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var tkwthennode4 = nodearraylist5
                                        assert tkwthennode4 isa nullable TKwthen
                                        var pexprnode5 = nodearraylist7
-                                       assert pexprnode5 isa nullable PExpr
+                                       assert pexprnode5 isa nullable AExpr
                                        var tkwelsenode6 = nodearraylist9
                                        assert tkwelsenode6 isa nullable TKwelse
                                        var pexprnode7 = nodearraylist11
-                                       assert pexprnode7 isa nullable PExpr
+                                       assert pexprnode7 isa nullable AExpr
                                        var pexprnode1: nullable AIfexprExpr = new AIfexprExpr.init_aifexprexpr(
                                                tkwifnode2,
                                                pexprnode3,
@@ -22602,7 +22617,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(108), node_list)
        end
@@ -22618,9 +22633,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AOrExpr = new AOrExpr.init_aorexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22640,9 +22655,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AAndExpr = new AAndExpr.init_aandexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22659,7 +22674,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(109), node_list)
        end
@@ -22676,7 +22691,7 @@ special ReduceAction
                                        var tkwnotnode2 = nodearraylist1
                                        assert tkwnotnode2 isa nullable TKwnot
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ANotExpr = new ANotExpr.init_anotexpr(
                                                tkwnotnode2,
                                                pexprnode3
@@ -22693,7 +22708,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(110), node_list)
        end
@@ -22709,9 +22724,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AEqExpr = new AEqExpr.init_aeqexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22731,9 +22746,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AEeExpr = new AEeExpr.init_aeeexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22753,9 +22768,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ANeExpr = new ANeExpr.init_aneexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22775,9 +22790,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ALtExpr = new ALtExpr.init_altexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22797,9 +22812,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ALeExpr = new ALeExpr.init_aleexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22819,9 +22834,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AGtExpr = new AGtExpr.init_agtexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22841,9 +22856,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AGeExpr = new AGeExpr.init_ageexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22863,9 +22878,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AStarshipExpr = new AStarshipExpr.init_astarshipexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22885,9 +22900,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var ptypenode3 = nodearraylist4
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var pexprnode1: nullable AIsaExpr = new AIsaExpr.init_aisaexpr(
                                                pexprnode2,
                                                ptypenode3
@@ -22904,7 +22919,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(111), node_list)
        end
@@ -22920,9 +22935,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable APlusExpr = new APlusExpr.init_aplusexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22942,9 +22957,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AMinusExpr = new AMinusExpr.init_aminusexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22961,7 +22976,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(112), node_list)
        end
@@ -22977,9 +22992,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AStarExpr = new AStarExpr.init_astarexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -22999,9 +23014,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable ASlashExpr = new ASlashExpr.init_aslashexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -23021,9 +23036,9 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var pexprnode3 = nodearraylist4
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable APercentExpr = new APercentExpr.init_apercentexpr(
                                                pexprnode2,
                                                pexprnode3
@@ -23040,7 +23055,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(113), node_list)
        end
@@ -23057,7 +23072,7 @@ special ReduceAction
                                        var tminusnode2 = nodearraylist1
                                        assert tminusnode2 isa nullable TMinus
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AUminusExpr = new AUminusExpr.init_auminusexpr(
                                                tminusnode2,
                                                pexprnode3
@@ -23078,7 +23093,7 @@ special ReduceAction
                                        var tkwoncenode2 = nodearraylist1
                                        assert tkwoncenode2 isa nullable TKwonce
                                        var pexprnode3 = nodearraylist3
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var pexprnode1: nullable AOnceExpr = new AOnceExpr.init_aonceexpr(
                                                tkwoncenode2,
                                                pexprnode3
@@ -23095,7 +23110,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(114), node_list)
        end
@@ -23114,7 +23129,7 @@ special ReduceAction
                                        var tkwnewnode2 = nodearraylist1
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var listnode5 = nodearraylist4
                                        assert listnode5 isa Array[Object]
 #                                      if listnode5 != null then
@@ -23146,7 +23161,7 @@ special ReduceAction
                                        var tkwissetnode2 = nodearraylist1
                                        assert tkwissetnode2 isa nullable TKwisset
                                        var pexprnode3 = nodearraylist2
-                                       assert pexprnode3 isa nullable PExpr
+                                       assert pexprnode3 isa nullable AExpr
                                        var tattridnode4 = nodearraylist3
                                        assert tattridnode4 isa nullable TAttrid
                                        var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr(
@@ -23167,7 +23182,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tattridnode3 = nodearraylist2
                                        assert tattridnode3 isa nullable TAttrid
                                        var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr(
@@ -23190,7 +23205,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode6 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist2
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist3
@@ -23252,7 +23267,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pqualifiednode2 = nodearraylist1
-                                       assert pqualifiednode2 isa nullable PQualified
+                                       assert pqualifiednode2 isa nullable AQualified
                                        var tkwsupernode3 = nodearraylist2
                                        assert tkwsupernode3 isa nullable TKwsuper
                                        var listnode4 = nodearraylist3
@@ -23284,7 +23299,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode5 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwinitnode3 = nodearraylist2
                                        assert tkwinitnode3 isa nullable TKwinit
                                        var listnode4 = nodearraylist3
@@ -23322,7 +23337,7 @@ special ReduceAction
                                        var tkwnewnode2 = nodearraylist1
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
-                                       assert ptypenode3 isa nullable PType
+                                       assert ptypenode3 isa nullable AType
                                        var tidnode4 = nodearraylist6
                                        assert tidnode4 isa nullable TId
                                        var listnode5 = nodearraylist7
@@ -23480,7 +23495,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(115), node_list)
        end
@@ -23502,11 +23517,11 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwasnode3 = nodearraylist4
                                        assert tkwasnode3 isa nullable TKwas
                                        var ptypenode4 = nodearraylist8
-                                       assert ptypenode4 isa nullable PType
+                                       assert ptypenode4 isa nullable AType
                                        var pexprnode1: nullable AAsCastExpr = new AAsCastExpr.init_aascastexpr(
                                                pexprnode2,
                                                tkwasnode3,
@@ -23535,7 +23550,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tkwasnode3 = nodearraylist4
                                        assert tkwasnode3 isa nullable TKwas
                                        var tkwnotnode4 = nodearraylist8
@@ -23562,7 +23577,7 @@ special ReduceAction
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(116), node_list)
        end
@@ -23587,7 +23602,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(117), node_list)
        end
@@ -23607,7 +23622,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -23689,7 +23704,7 @@ special ReduceAction
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        node_list = pexprnode1
                                        p.push(p.go_to(118), node_list)
        end
@@ -23709,7 +23724,7 @@ special ReduceAction
                                        var listnode5 = new Array[Object]
                                        var listnode7 = new Array[Object]
                                        var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
                                        var tidnode3 = nodearraylist4
                                        assert tidnode3 isa nullable TId
                                        var listnode4 = nodearraylist5
@@ -23792,7 +23807,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pimportnode1 = nodearraylist1
-                                       assert pimportnode1 isa nullable PImport
+                                       assert pimportnode1 isa nullable AImport
                                        if pimportnode1 != null then
                                                listnode2.add(pimportnode1)
                                        end
@@ -23812,7 +23827,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var pimportnode2 = nodearraylist2
-                                       assert pimportnode2 isa nullable PImport
+                                       assert pimportnode2 isa nullable AImport
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1
@@ -23836,7 +23851,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pclassdefnode1 = nodearraylist1
-                                       assert pclassdefnode1 isa nullable PClassdef
+                                       assert pclassdefnode1 isa nullable AClassdef
                                        if pclassdefnode1 != null then
                                                listnode2.add(pclassdefnode1)
                                        end
@@ -23856,7 +23871,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var pclassdefnode2 = nodearraylist2
-                                       assert pclassdefnode2 isa nullable PClassdef
+                                       assert pclassdefnode2 isa nullable AClassdef
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1
@@ -23880,7 +23895,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var psuperclassnode1 = nodearraylist1
-                                       assert psuperclassnode1 isa nullable PSuperclass
+                                       assert psuperclassnode1 isa nullable ASuperclass
                                        if psuperclassnode1 != null then
                                                listnode2.add(psuperclassnode1)
                                        end
@@ -23900,7 +23915,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var psuperclassnode2 = nodearraylist2
-                                       assert psuperclassnode2 isa nullable PSuperclass
+                                       assert psuperclassnode2 isa nullable ASuperclass
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1
@@ -23924,7 +23939,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pformaldefnode1 = nodearraylist1
-                                       assert pformaldefnode1 isa nullable PFormaldef
+                                       assert pformaldefnode1 isa nullable AFormaldef
                                        if pformaldefnode1 != null then
                                                listnode2.add(pformaldefnode1)
                                        end
@@ -23944,7 +23959,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var pformaldefnode2 = nodearraylist2
-                                       assert pformaldefnode2 isa nullable PFormaldef
+                                       assert pformaldefnode2 isa nullable AFormaldef
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1
@@ -23968,7 +23983,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var ppropdefnode1 = nodearraylist1
-                                       assert ppropdefnode1 isa nullable PPropdef
+                                       assert ppropdefnode1 isa nullable APropdef
                                        if ppropdefnode1 != null then
                                                listnode2.add(ppropdefnode1)
                                        end
@@ -23988,7 +24003,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var ppropdefnode2 = nodearraylist2
-                                       assert ppropdefnode2 isa nullable PPropdef
+                                       assert ppropdefnode2 isa nullable APropdef
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1
@@ -24012,7 +24027,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pparamnode1 = nodearraylist1
-                                       assert pparamnode1 isa nullable PParam
+                                       assert pparamnode1 isa nullable AParam
                                        if pparamnode1 != null then
                                                listnode2.add(pparamnode1)
                                        end
@@ -24032,7 +24047,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var pparamnode2 = nodearraylist2
-                                       assert pparamnode2 isa nullable PParam
+                                       assert pparamnode2 isa nullable AParam
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1
@@ -24056,7 +24071,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pclosuredeclnode1 = nodearraylist1
-                                       assert pclosuredeclnode1 isa nullable PClosureDecl
+                                       assert pclosuredeclnode1 isa nullable AClosureDecl
                                        if pclosuredeclnode1 != null then
                                                listnode2.add(pclosuredeclnode1)
                                        end
@@ -24076,7 +24091,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var pclosuredeclnode2 = nodearraylist2
-                                       assert pclosuredeclnode2 isa nullable PClosureDecl
+                                       assert pclosuredeclnode2 isa nullable AClosureDecl
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1
@@ -24100,7 +24115,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var ptypenode1 = nodearraylist1
-                                       assert ptypenode1 isa nullable PType
+                                       assert ptypenode1 isa nullable AType
                                        if ptypenode1 != null then
                                                listnode2.add(ptypenode1)
                                        end
@@ -24120,7 +24135,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var ptypenode2 = nodearraylist2
-                                       assert ptypenode2 isa nullable PType
+                                       assert ptypenode2 isa nullable AType
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1
@@ -24144,7 +24159,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        if pexprnode1 != null then
                                                listnode2.add(pexprnode1)
                                        end
@@ -24164,7 +24179,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var pexprnode2 = nodearraylist2
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1
@@ -24240,7 +24255,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var pexprnode1 = nodearraylist1
-                                       assert pexprnode1 isa nullable PExpr
+                                       assert pexprnode1 isa nullable AExpr
                                        if pexprnode1 != null then
                                                listnode2.add(pexprnode1)
                                        end
@@ -24260,7 +24275,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var pexprnode2 = nodearraylist2
-                                       assert pexprnode2 isa nullable PExpr
+                                       assert pexprnode2 isa nullable AExpr
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1
@@ -24416,7 +24431,7 @@ special ReduceAction
                                        var nodearraylist1 = p.pop
                                        var listnode2 = new Array[Object]
                                        var ppropdefnode1 = nodearraylist1
-                                       assert ppropdefnode1 isa nullable PPropdef
+                                       assert ppropdefnode1 isa nullable APropdef
                                        if ppropdefnode1 != null then
                                                listnode2.add(ppropdefnode1)
                                        end
@@ -24436,7 +24451,7 @@ special ReduceAction
                                        var listnode1 = nodearraylist1
                                        assert listnode1 isa Array[Object]
                                        var ppropdefnode2 = nodearraylist2
-                                       assert ppropdefnode2 isa nullable PPropdef
+                                       assert ppropdefnode2 isa nullable APropdef
 #                                      if listnode1 != null then
                                                if listnode3.is_empty then
                                                        listnode3 = listnode1