(command.CommandList
  children: [
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '$#')} {<-lt>} {<2>} {<Id.Lit_RBracket ']'>})
              ]
            )
          action: [
            (command.Simple
              words: [{<echo>} {(DQ <'usage: more/tweak.sh ARCH STAGE COMMAND...'>)}]
              redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<1>})]
              do_fork: T
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [8 20]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp Id.Op_DAmp]
      children: [
        (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-e>} {(DQ ($ Id.VSub_Number '$2')) <.sh>} 
          {<Id.Lit_RBracket ']'>}
        )
        (command.Simple
          words: [{<echo>} {(DQ <'No stage '> ($ Id.VSub_Number '$2'))}]
          redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
          do_fork: T
        )
        (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ARCH)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_Number '$1'))}
          spids: [71]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:STAGE)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_Number '$2'))}
          spids: [76]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$STAGE'))} 
          {<Id.Lit_Equals '='> <Id.Lit_Equals '='>} {(DQ <native-compiler>)} {<Id.Lit_RBracket ']'>}
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:STUFF)
              op: assign_op.Equal
              rhs: {(SQ <'STAGE_DIR=$STAGE_DIR/usr HOST_ARCH=$ARCH'>)}
              spids: [99]
            )
          ]
        )
      ]
    )
    (C {<shift>})
    (C {<shift>})
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (command.Simple
          words: [
            {<'more/test.sh'>}
            {(DQ ($ Id.VSub_DollarName '$ARCH'))}
            {($ Id.VSub_DollarName '$STUFF')}
            {(DQ ($ Id.VSub_At '$@'))}
            {(DQ <' && create_stage_tarball'>)}
          ]
          more_env: [
            (env_pair name:NO_CLEANUP val:{<temp>} spids:[109])
            (env_pair
              name: STAGE_NAME
              val: {(DQ ($ Id.VSub_DollarName '$STAGE'))}
              spids: [112]
            )
          ]
          do_fork: T
        )
        (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
      ]
    )
    (command.Simple
      words: [
        {<'./build.sh'>}
        {(DQ ($ Id.VSub_DollarName '$ARCH'))}
        {(DQ ($ Id.VSub_DollarName '$STAGE'))}
      ]
      more_env: [
        (env_pair name:NO_CLEANUP val:{<temp>} spids:[141])
        (env_pair name:AFTER val:{(DQ ($ Id.VSub_DollarName '$STAGE'))} spids:[144])
      ]
      do_fork: T
    )
  ]
)