(CommandList
  children: [
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:OSH_OVM)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name OSH_OVM>
                suffix_op: 
                  (StringUnary
                    op_id: VTest_ColonHyphen
                    arg_word: {($ VSub_Name '$PWD') (Lit_Slash /) (_bin) (Lit_Slash /) (osh)}
                  )
                spids: [19 27]
              )
            }
          spids: [18]
        )
      ]
      spids: [16]
    )
    (FuncDef
      name: die
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(echo)} {(DQ ('FATAL: ') ($ VSub_At '$@'))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[47])]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [37]
        )
      spids: [33 36]
    )
    (FuncDef
      name: log
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(echo)} {(DQ ($ VSub_At '$@'))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[71])]
            )
          ]
          spids: [62]
        )
      spids: [58 61]
    )
    (FuncDef
      name: csv-concat
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: (C {(tools/csv_concat.py)} {(DQ ($ VSub_At '$@'))})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [81]
        )
      spids: [77 80]
    )
    (FuncDef
      name: tsv-concat
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: (C {(tools/csv_concat.py)} {(DQ ($ VSub_At '$@'))})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [100]
        )
      spids: [96 99]
    )
    (FuncDef
      name: csv2html
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: 
                (C {(web/table/csv2html.py)} {(--css-class-pattern)} {(SQ <'special ^osh'>)} 
                  {(DQ ($ VSub_At '$@'))}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [119]
        )
      spids: [115 118]
    )
    (FuncDef
      name: tsv2html
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: (C {(web/table/csv2html.py)} {(--tsv)} {(DQ ($ VSub_At '$@'))})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [142]
        )
      spids: [138 141]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:_time_tool)
          op: Equal
          rhs: {($ VSub_Name '$PWD') (/benchmarks/time.py)}
          spids: [162]
        )
      ]
      spids: [160]
    )
    (FuncDef
      name: time-tsv
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: (C {($ VSub_Name '$_time_tool')} {(--tsv)} {(DQ ($ VSub_At '$@'))})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [171]
        )
      spids: [167 170]
    )
  ]
)