expanded vector_traits implementation