in src/arraytypes/list.jl [200:220]
@inline function Base.iterate(
A::ToList{T,stringtype},
(i, chunk, chunk_i, chunk_len, len),
) where {T,stringtype}
i > len && return nothing
@inbounds val = A.data[chunk - 1]
@inbounds x = stringtype ? _codeunits(val)[chunk_i] : val[chunk_i]
i += 1
if i > chunk_len
chunk_i = 1
while true
chunk += 1
chunk > length(A.inds) && break
@inbounds chunk_len = A.inds[chunk]
i <= chunk_len && break
end
else
chunk_i += 1
end
return x, (i, chunk, chunk_i, chunk_len, len)
end