I can imagine how…exhausting these discussions were 😅
Apart from the more synthetic examples and the obvious things like iterating custom containers - I understand your argument that this is not a every day use case but there are certainly some use cases - there are things like:
- iterating a bufio.Scanner
- iterating SQL results
- streaming chunked HTTP results
That can benefit from the range-over-func approach.
Furthermore there’s another “class” of tasks that are quite a good fit: generators 😍 Think of an infinite slice of random numbers or Fibonacci numbers or prime numbers…all of this can be expressed as a function you can iterate and “just stop” as soon as you have enough.
Probably this gives you an idea what else the whole experiment is good for 😉
Edit: there’s for instance a Python library letting you generate the holidays of a state for the next 1000 years based on some algorithm without having the data pre-calculated/stored anywhere but you can iterate/filter/… whatever you want
I tend to do manual bootstrapping with local execution as well but when using Forgejo/Gitea and corresponding actions you could also init the repo, start building your pipeline and use act to run it (locally at first if course) and as soon as you have your infrastructure in place you could continue to use the same pipeline there?
Still not ideal/perfect but if you don’t want to depend on some SaaS then this at least already runs the automation as it will be later?