В go1.22 стали доступны экспериментальные итераторы. Я немного поигрался с ними и в итоге сваял библиотеку https://github.com/ninedraft/itermore комбинаторов, конструкторов и прочих утилит.
Кажется для полного счастья мне не хватает буквально пары дополнительных функций — так что возможно добавлю в нормальном виде позже.
В итоге сейчас каждый проект у меня начинается с echo export GOEXPERIMENT=rangefunc > .envrc
— итераторы оказались слишком удобными
>>Click here to continue<<