Doesn't this cause a Python function call? I think `y.shape[0]` should do this in pure C.