Да, пробовал
iter.map().filter(), вопрос как описать filter, помнящий предыдущий элемент? Добавлял для этого var deleted: Boolean, изменял ее в процессе, но тесты показывают, что бывают кейсы, когда это не работает (тестирую на случайных итераторах), возможно, иногда не удаляются те строки, которые надо удалять. Именно так, лишние строки не удаляются никогда (не видел такого в ошибках)