(command.CommandList
  children: [
    (C {(echo)} {(SQ <'--- fghack insists on an argument'>)})
    (command.CommandList
      children: [
        (command.Sentence child:(C {(fghack)}) terminator:<Op_Semi ';'>)
        (C {(echo)} {($ VSub_QMark '$?')})
      ]
    )
    (C {(echo)} {(SQ <'--- fghack complains if it cannot run program'>)})
    (command.CommandList
      children: [
        (command.Sentence child:(C {(fghack)} {(./nonexistent)}) terminator:<Op_Semi ';'>)
        (C {(echo)} {($ VSub_QMark '$?')})
      ]
    )
    (C {(echo)} {(SQ <'--- fghack runs a program'>)})
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {(fghack)} {(sh)} {(-c)} {(SQ <'echo hi &'>)})
          terminator: <Op_Semi ';'>
        )
        (C {(echo)} {($ VSub_QMark '$?')})
      ]
    )
  ]
)