const type_info& target_type() const noexcept;
template<class T> T* target() noexcept; template<class T> const T* target() const noexcept;