Replace boost.type_traits with std::type_traits