refactor tuple/seq_traits, traits/transform