(command.ForEach
  keyword: <Id.KW_For for>
  iter_names: [script]
  iterable: 
    (for_iter.Words
      words: [
        {
          (CommandSub
            left_token: <Id.Left_DollarParen '$('>
            child: 
              (command.Pipeline
                children: [
                  (command.Simple
                    blame_tok: <ls>
                    more_env: []
                    words: [{<ls>}]
                    redirects: []
                    do_fork: T
                  )
                  (command.Simple
                    blame_tok: <grep>
                    more_env: []
                    words: [{<grep>} {(SQ <'^[0-9]*_.*.sh'>)}]
                    redirects: []
                    do_fork: T
                  )
                ]
                ops: [<Id.Op_Pipe _>]
              )
            right: <Id.Eof_RParen _>
          )
        }
      ]
    )
  semi_tok: <Id.Op_Semi _>
  body: 
    (command.DoGroup
      left: <Id.KW_Do do>
      children: [
        (command.Simple
          blame_tok: <echo>
          more_env: []
          words: [{<echo>} {(DQ ($ Id.VSub_DollarName script))}]
          redirects: []
          do_fork: T
        )
        (command.TimeBlock
          keyword: <Id.KW_Time time>
          pipeline: 
            (command.Simple
              blame_tok: <sh>
              more_env: []
              words: [{<sh>} {(DQ ($ Id.VSub_DollarName script))}]
              redirects: []
              do_fork: T
            )
        )
      ]
      right: <Id.KW_Done done>
    )
  redirects: []
)