всякая селедка - рыба, но не всякая рыба - селедка. Генератор - это iterable, каждый свой итератор он вычисляет и возвращает. Таким образом существенно экономит память. Но не всякий iterable == генератор
я вообще об этом с самого начала и писал, что упрощенный итератор, т.к в итераторе можно дополнительный функцмонал реализовать в тех же методах