I wonder if this should be `NPY_END_THREADS_DESCR(PyArray_DESCR(op))` since the threads were started based on dtype. It could also be moved up to before the fail gotos if that would make the code more readable, not sure about that though.