Might be a bit clearer to check `op[2]` when it is allocated. Or maybe `prepare_ufunc_output` could check?