(CommandList
  children: [
    (ForEach
      iter_name: i
      iter_words: [{(DQ ($ VSub_At "$@"))}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {($ VSub_Name "$i")}
              arms: [
                (case_arm
                  pat_list: [{(-L) (Lit_Other "*")}]
                  action: [
                    (C {(printf)} {(SQ <"\"%s\"\\n">)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name i>
                            suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(-L)})
                            spids: [46 50]
                          )
                        )
                      }
                    )
                  ]
                  spids: [35 37 53 -1]
                )
              ]
              spids: [28 32 56]
            )
          ]
          spids: [21 58]
        )
      spids: [15 19]
    )
  ]
)