Adding `assert!(self.index < self.length)` to `Parse::read_byte` catches this. Example inputs that trigger the bug: - `0` - `-0` - `[0` - `{"":0`