template<class T, class... Args> constexpr unique_ptr<T> make_unique(Args&&... args);
template<class T> constexpr unique_ptr<T> make_unique(size_t n);
template<class T, class... Args> unspecified make_unique(Args&&...) = delete;
template<class T> constexpr unique_ptr<T> make_unique_for_overwrite();
template<class T> constexpr unique_ptr<T> make_unique_for_overwrite(size_t n);
template<class T, class... Args> unspecified make_unique_for_overwrite(Args&&...) = delete;