Thanks for pointing that out! I think learning FP for the first time via Haskell has had some lingering biases, this is definitely important to note. Implementing the fold here by instead mutating in place outside the body of the function is indeed a ton more efficient, and actually about the same level of effort to implement, but you lose your guarantees.
That's interesting to see in F#...can always count on you for a reminder I really want to keep that in my toolbox!
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.