About this:

>  There is no other container where getting an end iterator and
inserting an element into the end of the container would *ever* leave
that end iterator to be pointing to something valid. Not `list`, not
`deque`

https://godbolt.org/z/ndePjE9c6

It works for deque. Its possible

#include <deque>
#include <iostream>

int main() {
  std::deque<int> v;
  v.push_back(0);
  for (int i = 0; i < 999; ++i) {
    auto b = std::prev(v.end());
    auto e = v.end();
    v.push_back(i);
    ++b;
    if (b == e)
       std::cout << "yes" << std::endl;
    else
       std::cout << "no" << std::endl;
  }
}