findFirstDelimiterImperative = (size, data) => {
const buffer = []
let nextIndex = 1
for (const token of data) {
if (buffer.length >= size) {
buffer.shift()
}
buffer.push(token)
if (buffer.length === size && !buffer.some((x, i) => buffer.indexOf(x) !== i)) {
return nextIndex
}
nextIndex++
}
}