(CommandList
  children: [
    (FuncDef
      name: die
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(echo)} {(DQ ('FATAL install error: ') ($ VSub_At '$@'))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[44])]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [34]
        )
      spids: [30 33]
    )
    (FuncDef
      name: main
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (Pipeline children:[(C {(.)} {(_build/detected-config.sh)})] negated:T)
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(die)} {(DQ ("Can't find _build/detected-config.h.  Run './configure'"))})
                  ]
                  spids: [16777215 74]
                )
              ]
              spids: [16777215 84]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:exec_filename)
                  op: Equal
                  rhs: {(oil.ovm)}
                  spids: [99]
                )
              ]
              spids: [97]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dest)
                  op: Equal
                  rhs: {($ VSub_Name '$PREFIX') (/bin/) ($ VSub_Name '$exec_filename')}
                  spids: [109]
                )
              ]
              spids: [107]
            )
            (C {(echo)} {(DQ ('Installing to ') ($ VSub_Name '$dest'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [
                            (C {(install)} {(_bin/) ($ VSub_Name '$exec_filename')} 
                              {($ VSub_Name '$dest')}
                            )
                          ]
                          negated: T
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(die)} {(DQ ("Couldn't install oil binary"))})]
                  spids: [16777215 136]
                )
              ]
              spids: [16777215 146]
            )
            (C {(cd)} {($ VSub_Name '$PREFIX') (/bin)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [(C {(ln)} {(-s)} {(-f)} {($ VSub_Name '$exec_filename')} {(osh)})]
                          negated: T
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(die)} {(DQ ("Couldn't create osh symlink"))})]
                  spids: [16777215 171]
                )
              ]
              spids: [16777215 184]
            )
          ]
          spids: [62]
        )
      spids: [58 61]
    )
    (C {(main)} {(DQ ($ VSub_At '$@'))})
  ]
)