In my view, python+numpy is not actually an array language. Numpy as a library adds vectorization operations to python in order to help with speed. This is different. It does not (intend to) bring the advantages that array language syntax has, even if it was a bit more consistent.
from numpy import *
A = [[1, 2], [3, 4]]
x = [[5], [6]]
y = dot(A, x)
[[1, 2], [3, 4], [5], [6]]
instead of array([[ 6, 7],[ 9, 10]])
You have to keep track of the context there to know what you can do and what not I guess, which is not ideal.Most developers do not touch array languages but I guess most developpers don't in general (need to) vectorise code this way and avoid loops (because they work in other problem domains, use lower level languages etc). If anything, not all problems can be vectorised anyway (or at least elegantly). But if one writes vectorised code, doing that in an array language makes more sense.