(command.CommandList
  children: [
    (C {(echo)} {(SQ (Token id:Id.Lit_Chars val:'--- fghack insists on an argument' span_id:3))})
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {(fghack)})
          terminator: (Token id:Id.Op_Semi val:';' span_id:7)
        )
        (C {(echo)} {($ Id.VSub_QMark '$?')})
      ]
    )
    (C {(echo)} 
      {(SQ (Token id:Id.Lit_Chars val:'--- fghack complains if it cannot run program' span_id:17))}
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {(fghack)} {(./nonexistent)})
          terminator: (Token id:Id.Op_Semi val:';' span_id:23)
        )
        (C {(echo)} {($ Id.VSub_QMark '$?')})
      ]
    )
    (C {(echo)} {(SQ (Token id:Id.Lit_Chars val:'--- fghack runs a program' span_id:33))})
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {(fghack)} {(sh)} {(-c)} {(SQ (Token id:Id.Lit_Chars val:'echo hi &' span_id:43))})
          terminator: (Token id:Id.Op_Semi val:';' span_id:45)
        )
        (C {(echo)} {($ Id.VSub_QMark '$?')})
      ]
    )
  ]
)