memory aliasing is also no concern as the output buffer is always freshly allocated, np.where has no out= argument (yet).