As far as I can see, its not currently handled if output iterator is a back_inserter. But it is potentially much better to do
out._container.insert(_container.end(), b, e) // uninitialized_copy_n or smth inside
instead of many .push_backs
In msvc stl its also not handled, but vector of bool is special case