(command.CommandList
  children: [
    (C {(echo)} {(SQ <'--- envini requires arguments'>)})
    (command.CommandList
      children: [
        (command.Sentence child:(C {(envini)} {(whatever)}) terminator:<Op_Semi ';'>)
        (C {(echo)} {($ VSub_QMark '$?')})
      ]
    )
    (C {(echo)} {(SQ <'--- envini complains if it cannot read file'>)})
    (C {(ln)} {(-s)} {(envi)} {(envi)})
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {(envini)} {(envi)} {(echo)} {(yes)})
          terminator: <Op_Semi ';'>
        )
        (C {(echo)} {($ VSub_QMark '$?')})
      ]
    )
    (C {(rm)} {(envi)})
    (C {(echo)} {(SQ <'--- envini adds variables'>)})
    (command.Simple
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(envi)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 70
          stdin_parts: [
            ('; comment\n')
            ('broken\n')
            (' Message = This is a test.\n')
            ('[sect]\n')
            ('Message=This is only a test.    \n')
          ]
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {(envini)} {(envi)} {(sh)} {(-c)} {(SQ <'echo $Message; echo $sect_Message'>)})
          terminator: <Op_Semi ';'>
        )
        (C {(echo)} {($ VSub_QMark '$?')})
      ]
    )
    (C {(echo)} {(SQ <'--- envini adds prefix'>)})
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {(envini)} {(-p)} {(prefix_)} {(envi)} {(sh)} {(-c)} 
              {(SQ <'echo $Message; echo $prefix_Message'>)}
            )
          terminator: <Op_Semi ';'>
        )
        (C {(echo)} {($ VSub_QMark '$?')})
      ]
    )
  ]
)