readValue() {
    if (this.done) return null
    if (this.count === 0) this.readRecord()
    this.count -= 1
    if (this.state === "literal") {
      const value = this.readRawValue()
      if (value === this.lastValue)
        throw new RangeError("Repetition of values is not allowed in literal")
      this.lastValue = value
      return value
    } else {
      return this.lastValue
    }
  }
Returns the next value (or null) in the sequence.