(CommandList
  children: [
    (FuncDef
      name: main
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:foo)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [26]
                )
              ]
              spids: [24]
            )
            (C {(echo)} {(DQ ($ VSub_Name "$foo"))})
          ]
          spids: [17]
        )
      spids: [13 16]
    )
    (C {(main)} {(SQ <"void *">)})
  ]
)