return PRUint32(SameFragment(first, last) ? last.get()-first.get() : first.size_forward());
return iter.size_forward();
    readable_distance( const InputIterator& first, const InputIterator& last )      {        return PRUint32(SameFragment(first, last) ? last.get()-first.get() : first.size_forward());      }