Iterable i Sequence Kotlina wyglądają dokładnie tak samo. Dlaczego potrzebne są dwa typy?

Oba te interfejsy definiują tylko jedną metodę public operator fun iterator(): Iterator<T> Dokumentacja mówi, Sequenceże ma być leniwy. Ale czy nie jest Iterableteż leniwy (chyba że jest poparty przez Collection)?