I, on the other hand, don't understand the obsession with abstraction. Also, by your argument the following should all be special types rather than box-standard arrays.
julia> typeof(ones(10)) Array{Float64,1} julia> typeof(zeros(10)) Array{Float64,1} julia> typeof(eye(10)) Array{Float64,2}