Read Program.cs first, then run it: dotnet run --project reps/01. It prints:
a: 0
b: 0, 1
c: 1
counters[0].Bump() compiled without a warning.
Read Program.cs first, then run it: dotnet run --project reps/01. It prints:
a: 0
b: 0, 1
c: 1
counters[0].Bump() compiled without a warning.
a 0? What did counters[0].Bump() change, and what happened to it right after?
c uses the same struct and the same method. What does an array do differently from a List<T> here?
counters[0].Bump() compiled silently. What would you need to know to catch it in somebody else's pull request?