Why doesn't multi-dimensional Array have zero-argument constructor?

Well, yes, Array{T, N} for different T and N are all different types, so I’m not sure I see your point.