I think we could probably add this condition to the `while()` portion of code to shrink a few lines, though, IE:

```js
do {
  // ...
} while(!this.peek(']') && this.expect(','));
```

This saves one redundant comparison and might look a tiny bit more concise. But I think it's probably fine as is