template<class T> add_rvalue_reference_t<T> declval() noexcept; // as unevaluated operand
template<class To, class From> decltype(static_cast<To>(declval<From>())) convert(From&&);