As `values` is a tuple (ugh, about that rename...), `Result(values)` will try to initialize `data` with `values[0]`, `frontIndex` with `values[1]` and `backIndex` with `values[2]`.

For the same reason, this is a static foreach, so the generated code would likely be the same even if there was a better way to initialize a fixed-length array.