- Avoid deriving from std::iterator_traits as iterators become too fat. - Use intrusive's reverse_iterator some std::reverse_iterator-s don't value initialize base.