Is there a way to avoid allocations with `view`

and `missing`

values? If I change the inner loop to `sum`

then there are allocations in both tests.

```
using BenchmarkTools
X = randn(10, 1000)
Xm = convert(Array{Union{Float64, Missing}}, X)
function colsums(x::Array{T}) where T
y = Vector{T}(undef, size(x, 2))
@inbounds for i in 1:size(x, 2)
xx = view(x, :, i)
x0 = 0
for j in eachindex(xx)
x0 += xx[j]
end
y[i] = x0
end
return y
end
@btime colsums(X);
@btime colsums(Xm);
```

```
julia> @btime colsums(X);
9.974 Ī¼s (1 allocation: 7.94 KiB)
julia> @btime colsums(Xm);
247.901 Ī¼s (20490 allocations: 329.08 KiB)
```