(CommandList
  children: [
    (C {(set)} {(-o)} {(nounset)})
    (C {(set)} {(-o)} {(pipefail)})
    (C {(set)} {(-o)} {(errexit)})
    (FuncDef
      name: osh-opy
      body: (BraceGroup children:[(C {(_tmp/oil-opy/bin/osh)} {(DQ ($ VSub_At '$@'))})] spids:[36])
      spids: [32 35]
    )
    (FuncDef
      name: oil-opy
      body: (BraceGroup children:[(C {(_tmp/oil-opy/bin/oil)} {(DQ ($ VSub_At '$@'))})] spids:[52])
      spids: [48 51]
    )
    (FuncDef
      name: osh-help
      body: (BraceGroup children:[(C {(osh-opy)} {(--help)})] spids:[68])
      spids: [64 67]
    )
    (FuncDef
      name: osh-version
      body: (BraceGroup children:[(C {(osh-opy)} {(--version)})] spids:[110])
      spids: [106 109]
    )
    (FuncDef
      name: unit
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dir)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 1>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_ColonHyphen
                            arg_word: {(_tmp) (Lit_Slash /) (oil-opy)}
                          )
                        spids: [136 142]
                      )
                    }
                  spids: [135]
                )
              ]
              spids: [133]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:vm)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 2>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(cpython)})
                        spids: [148 152]
                      )
                    }
                  spids: [147]
                )
              ]
              spids: [145]
            )
            (C {(pushd)} {($ VSub_Name '$dir')})
            (C {(mkdir)} {(-p)} {(_tmp)})
            (ForEach
              iter_name: t
              iter_words: [
                (BracedWordTree
                  parts: [
                    (BracedAltPart words:[{(asdl)} {(core)} {(osh)}])
                    (/)
                    (Lit_Other '*')
                    (_test.pyc)
                  ]
                )
              ]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (C {(echo)} {($ VSub_Name '$t')})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {($ VSub_Name '$vm')} {(Lit_Other '=')} {(byterun)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [{(opy_)} {(run)} {($ VSub_Name '$t')}]
                              more_env: [(env_pair name:PYTHONPATH val:{(.)} spids:[216])]
                            )
                          ]
                          spids: [16777215 213]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {($ VSub_Name '$vm')} {(Lit_Other '=')} {(cpython)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [{(python)} {($ VSub_Name '$t')}]
                              more_env: [(env_pair name:PYTHONPATH val:{(.)} spids:[240])]
                            )
                          ]
                          spids: [226 237]
                        )
                      ]
                      else_action: [(C {(die)} {(DQ ('Invalid VM ') ($ VSub_Name '$vm'))})]
                      spids: [248 259]
                    )
                  ]
                  spids: [193 262]
                )
              spids: [180 191]
            )
            (C {(popd)})
          ]
          spids: [130]
        )
      spids: [126 129]
    )
    (C {(export)} {(Lit_VarLike 'OSH_PYTHON=') (opy/_tmp/oil-opy/bin/osh)})
    (FuncDef
      name: spec
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:action)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 1>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(smoke)})
                        spids: [299 303]
                      )
                    }
                  spids: [298]
                )
              ]
              spids: [296]
            )
            (C {(shift)})
            (C {(pushd)} {(..)})
            (C {(test/spec.sh)} {($ VSub_Name '$action')} {(DQ ($ VSub_At '$@'))})
            (C {(popd)})
          ]
          spids: [293]
        )
      spids: [289 292]
    )
    (C {(DQ ($ VSub_At '$@'))})
  ]
)