Any reason for `Py_ssize_t` instead of `npy_intp`? Same question for next function. Normally that type is for calls into the cPython interface.