add tuple_traits