(command.CommandList
  children: [
    (command.ShFunction
      name: check_present
      body: 
        (BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Pipeline
                          children: [
                            (C {<grep>} {<-q>} {(DQ ($ Id.VSub_Number '$1'))} 
                              {<retain_symbols_file_test.stdout>}
                            )
                          ]
                          negated: T
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} 
                      {
                        (DQ <'Did not find expected symbol '> ($ Id.VSub_Number '$1') 
                          <' in retain_symbols_file_test.stdout'>
                        )
                      }
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [72 87]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: check_absent
      body: 
        (BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (C {<grep>} {<-q>} {(DQ ($ Id.VSub_Number '$1'))} 
                          {<retain_symbols_file_test.stdout>}
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} 
                      {
                        (DQ <'Found unexpected symbol '> ($ Id.VSub_Number '$1') 
                          <' in retain_symbols_file_test.stdout'>
                        )
                      }
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [116 129]
                )
              ]
            )
          ]
        )
    )
    (C {<check_present>} {(SQ <t1>)})
    (C {<check_present>} {(SQ <'t16b::t16b()'>)})
    (C {<check_present>} {(SQ <'t20a::get()'>)})
    (C {<check_present>} {(SQ <'t18()'>)})
    (C {<check_absent>} {(SQ <t10>)})
    (C {<check_absent>} {(SQ <'t1()'>)})
    (C {<check_absent>} {(SQ <'t16b::t()'>)})
    (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})
  ]
)