(CommandList
  children: [
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolUnary
                      op_id: BoolUnary_f
                      child: {($ VSub_Name "$_Dbg_libdir") (/builtin/set0)}
                    )
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [(C {(enable)} {(-f)} {($ VSub_Name "$_Dbg_libdir") (/builtin/set0)} {(set0)})]
          spids: [-1 74]
        )
      ]
      spids: [-1 86]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (SimpleCommand
                  words: [{(enable)} {(-a)} {(set0)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[100])]
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(_Dbg_help_add_sub)} {(set)} {(dollar0)} 
              {(SQ <"set dollar0 PROGRAM_NAME\n"> <"\n"> <"Set $0 to PROGRAM_NAME.">)} {(1)}
            )
            (FuncDef
              name: _Dbg_do_set_dollar0
              body: 
                (BraceGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (SimpleCommand
                                  words: [{(enable)} {(-a)} {(set0)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [150]
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(C {(set0)} {(DQ ($ VSub_Number "$1"))})]
                          spids: [-1 155]
                        )
                      ]
                      else_action: [
                        (C {(_Dbg_errmsg)} {(DQ ("Can't do becasue set0 module is not loaded."))})
                      ]
                      spids: [165 175]
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [131]
                )
              spids: [127 130]
            )
          ]
          spids: [-1 105]
        )
      ]
      spids: [-1 185]
    )
  ]
)