In C# IENumerable<T>.All() and List<T>.All() methods incorrectly assumed to be pure

Thanks for reporting this @Dan_Neely.

After discussing this internally, we decided on the following: we will keep the current implementation, as using such Linq methods to loop over a collection is a corner case and an abuse of its original purpose.

We will update the rule description, so that it mentions this case, explaining users should be careful when they come across such code.

Best,

-Chris