(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:loc) op:Equal rhs:{($ VSub_Number "$1")} spids:[4])]
      spids: [4]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cargo_args)
          op: Equal
          rhs: {($ VSub_Number "$2")}
          spids: [7]
        )
      ]
      spids: [7]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (SimpleCommand
                  words: [{(which)} {(cargo)}]
                  redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[16])]
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [(C {(cd)} {($ VSub_Name "$loc")}) (C {(cargo)} {($ VSub_Name "$cargo_args")})]
          spids: [-1 20]
        )
      ]
      else_action: [
        (SimpleCommand
          words: [{(echo)} {(SQ <"\\nERROR: No Rust Installation Found\\n">)}]
          redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[37])]
        )
        (C {(exit)} {(1)})
      ]
      spids: [32 49]
    )
  ]
)