(command.CommandList
  children: [
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.DParen
                      child: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Great
                          left: {($ Id.VSub_Pound '$#')}
                          right: {<Id.Lit_Digits 0>}
                        )
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ <'passed '> ($ Id.VSub_Number '$1'))})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [3 18]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:cmd)
          op: assign_op.Equal
          rhs: {<'../example/debug.sh'>}
          spids: [37]
        )
      ]
    )
    (C {<'../example/debug.sh'>} {($ Id.VSub_DollarName '$_Dbg_DEBUGGER_LEVEL')})
    (C {($ Id.VSub_DollarName '$cmd')} {($ Id.VSub_DollarName '$_Dbg_DEBUGGER_LEVEL')})
    (command.ShAssignment
      pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:x) op:assign_op.Equal rhs:{<5>} spids:[51])]
    )
  ]
)