(CommandList
  children: [
    (C {(trap)} {(SQ <_Dbg_write_saved_vars>)} {(EXIT)})
    (Assignment
      keyword: Assign_Typeset
      flags: [-a]
      pairs: [(assign_pair lhs:(LhsName name:_Dbg_save_vars) op:Equal spids:[70])]
      spids: [66]
    )
    (CommandList
      children: [
        (Sentence
          child: 
            (Assignment
              keyword: Assign_Typeset
              flags: [-a]
              pairs: [(assign_pair lhs:(LhsName name:_Dbg_save_vars) op:Equal spids:[83])]
              spids: [79]
            )
          terminator: <Op_Semi ';'>
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:_Dbg_save_vars)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [86]
            )
          ]
          spids: [86]
        )
      ]
    )
    (FuncDef
      name: save_vars
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_Dbg_save_vars)
                  op: PlusEqual
                  rhs: {(ArrayLiteralPart words:[{($ VSub_At '$@')}])}
                  spids: [104]
                )
              ]
              spids: [104]
            )
          ]
          spids: [101]
        )
      spids: [97 100]
    )
    (FuncDef
      name: _Dbg_write_saved_vars
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Typeset
              pairs: [(assign_pair lhs:(LhsName name:param) op:Equal spids:[121])]
              spids: [119]
            )
            (ForEach
              iter_name: param
              iter_words: [
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name _Dbg_save_vars>
                      bracket_op: (WholeArray op_id:Lit_At)
                      spids: [131 136]
                    )
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Pipeline
                      children: [
                        (C {(Assign_Typeset typeset)} {(-p)} {($ VSub_Name '$param')})
                        (C {(sed)} {(-e)} {(SQ <'s:declare [^ ]* ::'>)})
                      ]
                      negated: F
                    )
                  ]
                  spids: [141 162]
                )
              redirects: [
                (Redir
                  op: <Redir_Great '>'>
                  fd: 16777215
                  arg_word: {($ VSub_Name '$_Dbg_restore_info')}
                )
              ]
              spids: [129 139]
            )
          ]
          spids: [116]
        )
      spids: [112 115]
    )
  ]
)