(CommandList
  children: [
    (C {(Lit_Other ":")} {(vex)} {(skip)} {(expand)} {(command)} {(...)})
    (Case
      to_match: {($ VSub_Pound "$#")}
      arms: [
        (case_arm
          pat_list: [{(Lit_Other "[") (012) (Lit_Other "]")}]
          action: [
            (Sentence
              child: 
                (C {(print)} {(-u2)} {(DQ ("Usage: ") ($ VSub_Number "$0") (" skip expand command ..."))})
              terminator: <Op_Semi ";">
            )
            (C {(exit)} {(1)})
          ]
          spids: [87 90 107 -1]
        )
      ]
      spids: [81 85 109]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:skip) op:Equal rhs:{($ VSub_Number "$1")} spids:[111])]
      spids: [111]
    )
    (C {(shift)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:expand) op:Equal rhs:{($ VSub_Number "$1")} spids:[116])]
      spids: [116]
    )
    (C {(shift)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:command)
          op: Equal
          rhs: {($ VSub_Number "$1")}
          spids: [121]
        )
      ]
      spids: [121]
    )
    (C {(shift)})
    (C {(integer)} {(Lit_VarLike "argc=") (0)} {(Lit_VarLike "noexpand=") (0)})
    (ForEach
      iter_name: arg
      do_arg_iter: True
      body: 
        (DoGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [(DParen child:(ArithVarRef name:noexpand))]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:noexpand)
                          op: Equal
                          rhs: {(0)}
                          spids: [150]
                        )
                      ]
                      spids: [150]
                    )
                  ]
                  spids: [-1 148]
                )
              ]
              else_action: [
                (Case
                  to_match: {($ VSub_Name "$arg")}
                  arms: [
                    (case_arm
                      pat_list: [{(-) (Lit_Other "[") ($ VSub_Name "$skip") (Lit_Other "]")}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:noexpand)
                              op: Equal
                              rhs: {(1)}
                              spids: [170]
                            )
                          ]
                          spids: [170]
                        )
                      ]
                      spids: [163 167 174 -1]
                    )
                    (case_arm
                      pat_list: [{(-) (Lit_Other "*")}]
                      spids: [177 179 181 -1]
                    )
                    (case_arm
                      pat_list: [{($ VSub_Name "$expand")}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:x)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [{(vpath)} {(DQ ($ VSub_Name "$arg"))}]
                                            redirects: [
                                              (Redir
                                                op_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [196]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub "$(">
                                    spids: [189 198]
                                  )
                                }
                              spids: [188]
                            )
                          ]
                          spids: [188]
                        )
                        (Case
                          to_match: {($ VSub_Name "$x")}
                          arms: [
                            (case_arm
                              pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:arg)
                                      op: Equal
                                      rhs: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name x>
                                            suffix_op: 
                                              (StringUnary
                                                op_id: VOp1_Pound
                                                arg_word: {($ VSub_Name "$PWD") (Lit_Slash /)}
                                              )
                                            spids: [213 218]
                                          )
                                        }
                                      spids: [212]
                                    )
                                  ]
                                  spids: [212]
                                )
                              ]
                              spids: [208 210 220 -1]
                            )
                          ]
                          spids: [201 205 223]
                        )
                      ]
                      spids: [184 185 226 -1]
                    )
                  ]
                  spids: [156 160 229]
                )
              ]
              spids: [154 232]
            )
            (C {(argv) (Lit_Other "[") (argc) (Lit_Other "]") (Lit_Other "=") ($ VSub_Name "$arg")})
            (DParen
              child: 
                (BinaryAssign
                  op_id: Arith_PlusEqual
                  left: (LhsName name:argc)
                  right: (ArithWord w:{(Lit_Digits 1)})
                )
            )
          ]
          spids: [138 250]
        )
      spids: [-1 -1]
    )
    (C {(DQ ($ VSub_Name "$command"))} 
      {
        (DQ (BracedVarSub token:<VSub_Name argv> bracket_op:(WholeArray op_id:Lit_At) spids:[257262]))
      }
    )
  ]
)