merge type_traits.hpp into traits.hpp