(command.CommandList
  children: [
    (command.Case
      to_match: {($ Id.VSub_Pound '$#')}
      arms: [
        (case_arm pat_list:[{<0>}] spids:[19 20 22 -1])
        (case_arm
          pat_list: [{<1>}]
          action: [(C {<cd>} {(DQ ($ Id.VSub_Number '$1'))})]
          spids: [24 25 33 -1]
        )
        (case_arm
          pat_list: [{<Id.Lit_Star '*'>}]
          action: [
            (command.Sentence
              child: 
                (command.Simple
                  words: [{<echo>} {(DQ <'Usage: '> ($ Id.VSub_Number '$0') <' [top_srcdir]'>)}]
                  redirects: [(redir.Redir op:<Id.Redir_GreatAnd '>&'> fd:-1 arg_word:{<2>})]
                )
              terminator: <Id.Op_Semi _>
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<2>})
          ]
          spids: [35 36 54 -1]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {<Id.Lit_LBracket '['>} {<-r>} {<.git/HEAD>} {<Id.Lit_RBracket ']'>})
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C 
              {
                (braced_var_sub
                  token: <Id.VSub_Name GIT>
                  suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{<git>})
                )
              } {<ls-files>}
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})
          ]
          spids: [59 70]
        )
      ]
    )
    (command.Simple
      words: [{<echo>} {(SQ <'Cannot list sources without some version control system in use.'>)}]
      redirects: [(redir.Redir op:<Id.Redir_GreatAnd '>&'> fd:-1 arg_word:{<2>})]
    )
    (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
  ]
)