Is there a type-trait to remove top-level cv and reference at once?
I prefer combining the two functionalities since it describes exactly what the intention is:
C++11 std::remove_cv<std::remove_reference<T>::type>::type
C++14 std::remove_cv_t<std::remove_reference_t<T>>
C++20 std::remove_cvref_t<T>
std::decay
, I believe, performs this functionality.