Это несовместимо с каждым индексирующим оператором в стандартной библиотеке. Даже std::unique_ptr::operator[] принимает std::size_t.
Какое обоснование для этого решения?
Ответ 1
Возможно, это должна быть унификация интерфейса указателя. Хорошие оль-C-указатели при использовании в качестве массивов принимают отрицательные индексы: p[-2] совпадает с *(p - 2); и ptrdiff_t естественно подписывается.