(command.CommandList
  children: [
    (C {(readonly)} 
      {(Id.Lit_VarLike 'OSH_OVM=') 
        (braced_var_sub
          token: (Token id:Id.VSub_Name val:OSH_OVM span_id:20)
          suffix_op: 
            (suffix_op.Unary
              op_id: Id.VTest_ColonHyphen
              arg_word: {($ Id.VSub_DollarName '$PWD') (Id.Lit_Slash /) (_bin) (Id.Lit_Slash /) (osh)}
            )
        )
      }
    )
    (command.ShFunction
      name: die
      body: 
        (command.BraceGroup
          children: [
            (command.Simple
              words: [{(echo)} {(DQ ('FATAL: ') ($ Id.VSub_At '$@'))}]
              redirects: [
                (redir.Redir
                  op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:47)
                  fd: 1
                  arg_word: {(2)}
                )
              ]
            )
            (command.ControlFlow
              token: (Token id:Id.ControlFlow_Exit val:exit span_id:51)
              arg_word: {(1)}
            )
          ]
        )
    )
    (command.ShFunction
      name: log
      body: 
        (command.BraceGroup
          children: [
            (command.Simple
              words: [{(echo)} {(DQ ($ Id.VSub_At '$@'))}]
              redirects: [
                (redir.Redir
                  op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:71)
                  fd: 1
                  arg_word: {(2)}
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: csv-concat
      body: 
        (command.BraceGroup
          children: [
            (command.Sentence
              child: (C {(tools/csv_concat.py)} {(DQ ($ Id.VSub_At '$@'))})
              terminator: (Token id:Id.Op_Semi val:';' span_id:88)
            )
          ]
        )
    )
    (command.ShFunction
      name: tsv-concat
      body: 
        (command.BraceGroup
          children: [
            (command.Sentence
              child: (C {(tools/csv_concat.py)} {(DQ ($ Id.VSub_At '$@'))})
              terminator: (Token id:Id.Op_Semi val:';' span_id:107)
            )
          ]
        )
    )
    (command.ShFunction
      name: csv2html
      body: 
        (command.BraceGroup
          children: [
            (command.Sentence
              child: 
                (C {(web/table/csv2html.py)} {(--css-class-pattern)} 
                  {(SQ (Token id:Id.Lit_Chars val:'special ^osh' span_id:127))} {(DQ ($ Id.VSub_At '$@'))}
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:133)
            )
          ]
        )
    )
    (command.ShFunction
      name: tsv2html
      body: 
        (command.BraceGroup
          children: [
            (command.Sentence
              child: (C {(web/table/csv2html.py)} {(--tsv)} {(DQ ($ Id.VSub_At '$@'))})
              terminator: (Token id:Id.Op_Semi val:';' span_id:152)
            )
          ]
        )
    )
    (C {(readonly)} 
      {(Id.Lit_VarLike '_time_tool=') ($ Id.VSub_DollarName '$PWD') (/benchmarks/time.py)}
    )
    (command.ShFunction
      name: time-tsv
      body: 
        (command.BraceGroup
          children: [
            (command.Sentence
              child: (C {($ Id.VSub_DollarName '$_time_tool')} {(--tsv)} {(DQ ($ Id.VSub_At '$@'))})
              terminator: (Token id:Id.Op_Semi val:';' span_id:180)
            )
          ]
        )
    )
  ]
)