Use SFINAE toch check for T::push_back(T::value_type) instead of is_container and initial style change