__iterator/readable_traits.h can't be used by itself, intantiating iter_value_t requires __iterator/iterator_traits.h. readable_traits.h can't include iterator_traits.h though because iterator_traits.h requires readable_traits.h.
Move iter_value_t to __iterator/iterator_traits.h so that both headers can work standalone.