Yes I agree on all these points from y'all. I think what I'm going to do is present both NumPy and non NumPy in the code files for class. But I'm going to teach with NumPy most likely.
I was never going to reimplement a matrix library, but do loops manually for dot products and all that. There are people, especially programmers with no math background, that want to see things in pure code since they are not familiar with linear algebra. It's not optimal but it's a barrier that's removed for that particular crowd