SSO - да. Интересная идея. А про memcpy и trait не понял о чём речь, можно краткое пояснение?
Ну логично что копирование надо делать через memcpy. Для string это сдано в traits::copy. А вот вектор вызывает std::copy, а там уже перегрузка которая определяет можно ли memcpy. Результат тот же, но traits дешевле для компилятора, это не перегрузки для trivially copyable.