в Джулии ещё были весьма похожие на раст итераторы, потому я с этой стороны на них смотрю (Джулия это ФП)
там кстати тоже аналог "интерфейса" итератора для своего типа можно определить и сразу станет доступен весь итераторный функционал. только там это называется "абстрактный тип"