dexonsmith added a comment. Another direction I plan to pursue rather quickly is "fixing" reverse iterators, so that rbegin().getNodePtr()==&*rbegin(). This allows much simpler logic when erasing elements during a reverse traversal. https://reviews.llvm.org/D23466