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