https://github.com/boostorg/iterator/blob/boost-1.63.0/include/boost/iterator/iterator_facade.hpp#L284


I was wondering about is_non_proxy_reference<Reference,Value> in this metafunction. It appears to select between postfix_increment_proxy<Iterator> and writable_postfix_increment_proxy<Iterator> based on whether Reference is the same type as Value ignoring cv&

what is the case that writable_postfix_increment_proxy<Iterator> is selected. So when is Reference going to be a different 'base type' to Value?
is this to support user returning their own proxy or something?