(CommandList
  children: [
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DParen
                  child: 
                    (ArithBinary
                      op_id: Arith_Great
                      left: (ArithWord w:{($ VSub_Pound "$#")})
                      right: (ArithWord w:{(Lit_Digits 0)})
                    )
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [(C {(echo)} {(DQ ("passed ") ($ VSub_Number "$1"))}) (C {(exit)} {(1)})]
          spids: [-1 18]
        )
      ]
      spids: [-1 34]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:cmd) op:Equal rhs:{(../example/debug.sh)} spids:[37])]
      spids: [37]
    )
    (C {(../example/debug.sh)} {($ VSub_Name "$_Dbg_DEBUGGER_LEVEL")})
    (C {($ VSub_Name "$cmd")} {($ VSub_Name "$_Dbg_DEBUGGER_LEVEL")})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:x) op:Equal rhs:{(5)} spids:[51])]
      spids: [51]
    )
  ]
)