(CommandList
  children: [
    (C {(_Dbg_help_add_sub)} {(set)} {(tty)} 
      {
        (SQ <"set tty {pseudo-device|&1}\n"> <"\n"> 
          <"Set the output device for debugger output. Use \"\\&1\" if you want debugger\n"> <"output to go to STDOUT.\n">
        )
      } {(1)}
    )
    (FuncDef
      name: _Dbg_do_set_tty
      body: 
        (BraceGroup
          children: [
            (C {(_Dbg_do_tty)} {($ VSub_At "$@")})
            (ControlFlow token:<ControlFlow_Return return> arg_word:{($ VSub_QMark "$?")})
          ]
          spids: [140]
        )
      spids: [136 139]
    )
    (FuncDef
      name: _Dbg_do_set_help_tty
      body: 
        (BraceGroup
          children: [
            (C {(typeset)} {(label)})
            (AndOr
              children: [
                (DBracket
                  expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Number "$1")})
                )
                (AndOr
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:label)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(builtin)} {(printf)} {(SQ <"%-16s-- ">)} {(SQ <"set tty">)})
                                    ]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [179 191]
                              )
                            }
                          spids: [178]
                        )
                      ]
                      spids: [178]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:label) op:Equal rhs:{(SQ )} spids:[195])]
                      spids: [195]
                    )
                  ]
                  op_id: Op_DPipe
                )
              ]
              op_id: Op_DAmp
            )
            (C {(_Dbg_msg_nocr)} {(DQ (${ VSub_Name label) ("Debugger output goes to "))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name "$_Dbg_tty")})
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(_Dbg_msg)} 
                      {
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(tty)})])
                          left_token: <Left_CommandSub "$(">
                          spids: [229 231]
                        )
                      }
                    )
                  ]
                  spids: [-1 224]
                )
              ]
              else_action: [(C {(_Dbg_msg)} {($ VSub_Name "$_Dbg_tty")})]
              spids: [234 242]
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
          ]
          spids: [159]
        )
      spids: [155 158]
    )
  ]
)