Yeah. It’s definitely lying about the internal memory of the object, since the underlying vector still has room for the Missing
mask.
I’m thinking of scenarios where functions have overly-restrictive type parameters
foo(x::AbstractVector{Int})
t = [1, 2, missing]
sub_t = view(t, 1:2)
foo(sub_t)
I’m not sure if just overloading the eltype
is enough, right? It has to actually be in the type parameter.