(CommandList
  children: [
    (C {(_Dbg_help_add_sub)} {(show)} {(tty)} {(DQ ("Show tty used for debugger output"))} {(1)})
    (FuncDef
      name: _Dbg_do_show_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 <"%-12s: ">)} {(SQ <"show tty">)})
                                    ]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [95 107]
                              )
                            }
                          spids: [94]
                        )
                      ]
                      spids: [94]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:label) op:Equal rhs:{(SQ )} spids:[111])]
                      spids: [111]
                    )
                  ]
                  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: [145 147]
                        )
                      }
                    )
                  ]
                  spids: [-1 140]
                )
              ]
              else_action: [(C {(_Dbg_msg)} {($ VSub_Name "$_Dbg_tty")})]
              spids: [150 158]
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
          ]
          spids: [76]
        )
      spids: [72 75]
    )
  ]
)