Почему Kotlin Array <T> не реализует Iterable <T>

Почему класс Array<T> в Kotlin реализует Iterable<T> ?

Быстрый просмотр документации показывает, что у нее уже есть метод iterator() .

    Kotlin разработан, чтобы полностью взаимодействовать с Java. Array<X> является X[] как во время выполнения, так и с точки зрения Java. Массивы Java не реализуют Iterable , поэтому массивы Kotlin (которые практически одинаковы) не так.

    Мы могли бы заставить наши массивы реализовать Iterable , создав автономный класс, который не относится к массивам Java. Однако, чтобы поддерживать совместимость с Java, нам пришлось бы выполнять неявные преобразования из такого типа в массивы Java и обратно. Неявные преобразования, как правило, не являются идеальным подходом из-за чрезмерной производительности и неясности семантики идентификации объекта. Здесь они также решат только половину проблемы, так как вам все равно придется вручную «помещать» массивы при вызове кода Kotlin с Java. Вот почему такое решение не рассматривалось как возможно.