(command.CommandList
  children: [
    (C {(set)} {(-o)} {(nounset)})
    (C {(set)} {(-o)} {(pipefail)})
    (C {(set)} {(-o)} {(errexit)})
    (command.FuncDef
      name: _this-repo
      body: 
        (command.BraceGroup
          children: [
            (command.ForEach
              iter_name: name
              iter_words: [
                {(configure)}
                {(install)}
                {(Lit_Other '*') (.sh)}
                (word.BracedWordTree
                  parts: [
                    (word_part.BracedAltPart
                      words: [{(benchmarks)} {(build)} {(test)} {(scripts)} {(opy)}]
                    )
                    (/)
                    (Lit_Other '*')
                    (.sh)
                  ]
                )
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [(C {(bin/oilc)} {(deps)} {($ VSub_DollarName '$name')})]
                )
            )
          ]
        )
    )
    (command.FuncDef
      name: this-repo
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:tmp)
                  op: Equal
                  rhs: {(_tmp/this-repo-deps.txt)}
                )
              ]
            )
            (command.SimpleCommand
              words: [{(_this-repo)}]
              redirects: [
                (redir.Redir
                  op: <Redir_Great '>'>
                  fd: 16777215
                  arg_word: {($ VSub_DollarName '$tmp')}
                )
              ]
            )
            (command.Pipeline
              children: [
                (C {(sort)} {($ VSub_DollarName '$tmp')})
                (C {(uniq)} {(-c)})
                (C {(sort)} {(-n)})
              ]
              negated: F
            )
          ]
        )
    )
    (C {(DQ ($ VSub_At '$@'))})
  ]
)