(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:tmpfile)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [4]
        )
      ]
    )
    (C {(trap)} {(SQ (Token id:Id.Lit_Chars val:'rm -fr $tmpfile' span_id:9))} {(1)} {(2)} {(3)} {(15)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:tmpfile)
          op: assign_op.Equal
          rhs: {(test-fpending.t)}
          spids: [21]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (command.Simple
          words: [{(./test-fpending) (${ Id.VSub_Name EXEEXT)}]
          redirects: [
            (redir.Redir
              op: (Token id:Id.Redir_Great val:'>' span_id:30)
              fd: -1
              arg_word: {($ Id.VSub_DollarName '$tmpfile')}
            )
          ]
        )
        (command.ControlFlow
          token: (Token id:Id.ControlFlow_Exit val:exit span_id:36)
          arg_word: {(1)}
        )
      ]
    )
    (C {(rm)} {(-fr)} {($ Id.VSub_DollarName '$tmpfile')})
    (command.ControlFlow token:(Token id:Id.ControlFlow_Exit val:exit span_id:48) arg_word:{(0)})
  ]
)