Como remover itens de uma List em Dart enquanto você itera sobre ela sem um ConcurrentModificationError
Chamar remove dentro de um loop for-in ou de forEach lança ConcurrentModificationError. Use removeWhere para filtrar no lugar, crie uma lista nova com where ou um collection-for, ou percorra o índice de trás para frente. Verificado no Dart 3.13.7, com um benchmark mostrando por que removeAt em um loop é a opção lenta.