C++ library to remove typename ... ::type from type_traits