Are there any practical reasons for reduce(begin(v), end(v), 0, plus{}) to permit out-of-order computation? For example, is this allowed as an implementation?```template<class InputIterator, class T, class BOp>T reduce(InputIterator first, InputIterator last, T init, BOp bop){#if NDEBUGreturn reduce(execution::par_unseq, first, last, init, bop);#elsereturn accumulate(first, last, init, bop);#endif // NDEBUG}```
If either question can be answered with "yes", then forgetting accumulate is a non-starter,