function ToList()

in src/arraytypes/list.jl [103:130]


function ToList(input; largelists::Bool=false)
    AT = eltype(input)
    ST = Base.nonmissingtype(AT)
    K = ArrowTypes.ArrowKind(ST)
    stringtype = ArrowTypes.isstringtype(K) || ST <: Base.CodeUnits 
    T = stringtype ? UInt8 : eltype(ST)
    len = stringtype ? _ncodeunits : length
    data = AT[]
    I = largelists ? Int64 : Int32
    inds = I[0]
    sizehint!(data, length(input))
    sizehint!(inds, length(input))
    totalsize = I(0)
    for x in input
        if x === missing
            push!(data, missing)
        else
            push!(data, x)
            totalsize += len(x)
            if I === Int32 && totalsize > 2147483647
                I = Int64
                inds = convert(Vector{Int64}, inds)
            end
        end
        push!(inds, totalsize)
    end
    return ToList{T,stringtype,AT,I}(data, inds)
end