(command.CommandList
  children: [
    (command.Simple
      blame_tok: <_Dbg_help_add>
      more_env: []
      words: [
        {<_Dbg_help_add>}
        {<finish>}
        {
          (DQ <'finish \n'> <'\n'> <'Continue execution until leaving the current function. \n'> 
            <'Sometimes this is called \'step out\'.'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <_Dbg_do_finish>
      name: _Dbg_do_finish
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <_Dbg_not_running>
                  more_env: []
                  words: [{<_Dbg_not_running>}]
                  redirects: []
                  do_fork: T
                )
                (command.ControlFlow
                  keyword: <Id.ControlFlow_Return return>
                  arg_word: {<3>}
                )
              ]
              ops: [<Id.Op_DAmp _>]
            )
            (command.DParen
              left: <Id.Op_DLeftParen _>
              child: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike _Dbg_return_level)
                  right: 
                    (arith_expr.Binary
                      op_id: Id.Arith_Minus
                      left: 
                        {
                          (BracedVarSub
                            left: <Id.Left_DollarBrace '${'>
                            token: <Id.VSub_Name FUNCNAME>
                            var_name: FUNCNAME
                            prefix_op: <Id.VSub_Pound '#'>
                            bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                            right: <Id.Right_DollarBrace '}'>
                          )
                        }
                      right: {<Id.Lit_Digits 5>}
                    )
                )
              right: <Id.Op_DRightParen _>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike '_Dbg_last_cmd='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike '_Dbg_last_cmd='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_Dbg_last_cmd='> name:_Dbg_last_cmd)
                  op: assign_op.Equal
                  rhs: {(SQ <finish>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike '_Dbg_inside_skip='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike '_Dbg_inside_skip='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike '_Dbg_inside_skip='>
                      name: _Dbg_inside_skip
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike '_Dbg_continue_rc='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike '_Dbg_continue_rc='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike '_Dbg_continue_rc='>
                      name: _Dbg_continue_rc
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                )
              ]
              redirects: []
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <_Dbg_alias_add>
      more_env: []
      words: [{<_Dbg_alias_add>} {<fin>} {<finish>}]
      redirects: []
      do_fork: T
    )
  ]
)