#include <iterator_facade.h>
We can meet "random access" if it provides both .advance() and .distance_to()