(command.CommandList
  children: [
    (command.Pipeline
      children: [
        (C {<echo>} {(DQ <Hello>)})
        (command.Simple
          words: [
            {($ Id.VSub_Number '$1')}
            {($ Id.VSub_Number '$2')}
            {($ Id.VSub_Number '$3')}
            {<pipe>}
            {<pipe>}
            {<pipe>}
          ]
          redirects: [(redir.Redir op:<Id.Redir_GreatAnd '2>&'> fd:2 arg_word:{<1>})]
        )
        (command.Simple
          words: [{<cat>} {<->}]
          redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{($ Id.VSub_Number '$4')})]
        )
      ]
      negated: F
    )
    (command.Simple
      words: [
        {($ Id.VSub_Number '$1')}
        {($ Id.VSub_Number '$2')}
        {($ Id.VSub_Number '$3')}
        {($ Id.VSub_Number '$6')}
        {<file>}
        {<file>}
      ]
      redirects: [
        (redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{($ Id.VSub_Number '$4')})
        (redir.Redir
          op: <Id.Redir_Great '>'>
          fd: -1
          arg_word: {($ Id.VSub_Number '$5') <.stdout>}
        )
        (redir.Redir
          op: <Id.Redir_Great '2>'>
          fd: 2
          arg_word: {($ Id.VSub_Number '$5') <.stderr>}
        )
      ]
    )
    (command.Simple
      words: [
        {($ Id.VSub_Number '$1')}
        {($ Id.VSub_Number '$2')}
        {($ Id.VSub_Number '$3')}
        {($ Id.VSub_Number '$6')}
        {<file>}
        {<file>}
      ]
      redirects: [
        (redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{($ Id.VSub_Number '$4')})
        (redir.Redir
          op: <Id.Redir_DGreat '>>'>
          fd: -1
          arg_word: {($ Id.VSub_Number '$5') <.stdout>}
        )
        (redir.Redir
          op: <Id.Redir_DGreat '2>>'>
          fd: 2
          arg_word: {($ Id.VSub_Number '$5') <.stderr>}
        )
      ]
    )
    (command.Simple
      words: [
        {($ Id.VSub_Number '$1')}
        {($ Id.VSub_Number '$2')}
        {($ Id.VSub_Number '$3')}
        {($ Id.VSub_Number '$6')}
        {<terminal>}
        {<terminal>}
      ]
      redirects: [
        (redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{($ Id.VSub_Number '$4')})
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{</dev/null>})
        (redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})
      ]
    )
    (command.Simple
      words: [
        {($ Id.VSub_Number '$1')}
        {($ Id.VSub_Number '$2')}
        {($ Id.VSub_Number '$3')}
        {($ Id.VSub_Number '$6')}
        {<terminal>}
        {<pipe>}
      ]
      redirects: [
        (redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{($ Id.VSub_Number '$4')})
        (redir.Redir op:<Id.Redir_GreatAnd '2>&'> fd:2 arg_word:{<1>})
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{</dev/null>})
      ]
    )
    (command.Simple
      words: [
        {($ Id.VSub_Number '$1')}
        {($ Id.VSub_Number '$2')}
        {($ Id.VSub_Number '$3')}
        {($ Id.VSub_Number '$6')}
        {<terminal>}
        {<terminal>}
      ]
      redirects: [
        (redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{($ Id.VSub_Number '$4')})
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{</dev/null>})
        (redir.Redir op:<Id.Redir_GreatAnd '2>&'> fd:2 arg_word:{<1>})
      ]
    )
  ]
)