Agree your example is more elegant than mine, and LINQ beats a list comprehension for more complex needs.
counts() was a throw-away for initializing the progress bar, so I was a little lazy there
Float you mention was needed for the looping calc at the call site.
Appreciate the feedback