Рассматривая документацию для std::forward,
template< class T >
constexpr T&& forward( typename std::remove_reference<T>::type& t ) noexcept;
template< class T >
constexpr T&& forward( typename std::remove_reference<T>::type&& t ) noexcept;
 Обе функции возвращают T&&, которые (поправьте меня, если я ошибаюсь) обрушиваются на
-  T&еслиTявляется ссылкой на lvalue
-  T&&еслиTявляется ссылкой rvalue, или еслиTне является ссылкой
 Для произвольного типа T который может быть ссылкой, действительно ли обращение коллапса всегда приводит к тому, что forward<T> выполняет то же самое, что и forward<T&&>?
 Если да, то есть ли какая-либо причина использовать forward<T&&>?
