Defined in [specialized.algorithms](wg21.link/specialized.algorithms).
Also:
- refactor the existing non-range implementation so that most of it can be shared between the range-based and non-range-based algorithms;
- remove an existing test for the non-range version of uninitialized_default_construct{,_n} that likely triggered undefined behavior (it read the values of built-ins after default-initializing them, essentially reading uninitialized memory).
And put it in the __advance namespace, and put advance into inline namespace __cpo; and remove __function_like. :) If you're volunteering for this, I will be thrilled to review it. :)