(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:keep) op:Equal rhs:{(4)} spids:[13])]
      spids: [13]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:totalmsgs)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (Pipeline
                          children: [
                            (C {(echo)} {(SQ <x>)})
                            (C {(mail)})
                            (C {(sed)} {(-n)} {(SQ <2p>)})
                            (C {(awk)} {(SQ <'{print $2}'>)})
                          ]
                          negated: F
                        )
                      ]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [22 50]
                )
              )
            }
          spids: [20]
        )
      ]
      spids: [20]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {($ VSub_Name '$totalmsgs')} {(-lt)} {($ VSub_Name '$keep')} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})]
          spids: [16777215 68]
        )
      ]
      spids: [16777215 78]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:topmsg)
          op: Equal
          rhs: 
            {
              (DQ 
                (ArithSubPart
                  anode: 
                    (ArithBinary
                      op_id: Arith_Minus
                      left: (ArithWord w:{($ VSub_Name '$totalmsgs')})
                      right: (ArithWord w:{($ VSub_Name '$keep')})
                    )
                  spids: [83 92]
                )
              )
            }
          spids: [81]
        )
      ]
      spids: [81]
    )
    (SimpleCommand
      words: [{(mail)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[98])
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: {(DQ (d1-) ($ VSub_Name '$topmsg') ('\n') ('q\n'))}
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [102]
        )
      ]
    )
    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
  ]
)