(command.CommandList
  children: [
    (C {<_Dbg_help_add>} {<finish>} 
      {
        (DQ <'finish \n'> <'\n'> <'Continue execution until leaving the current function. \n'> 
          <'Sometimes this is called \'step out\'.'>
        )
      }
    )
    (command.ShFunction
      name: _Dbg_do_finish
      body: 
        (BraceGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<_Dbg_not_running>})
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<3>}
                )
              ]
            )
            (command.DParen
              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: 
                        {
                          (braced_var_sub
                            token: <Id.VSub_Name FUNCNAME>
                            prefix_op: (Id.VSub_Pound)
                            bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                          )
                        }
                      right: {<Id.Lit_Digits 5>}
                    )
                )
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_Dbg_last_cmd)
                  op: assign_op.Equal
                  rhs: {(SQ <finish>)}
                  spids: [103]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_Dbg_inside_skip)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [109]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_Dbg_continue_rc)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [113]
                )
              ]
            )
            (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})
          ]
        )
    )
    (C {<_Dbg_alias_add>} {<fin>} {<finish>})
  ]
)