Reorganize type_traits.hpp header