Purity is overrated. C# is a kitchen sink language but you need give credit to the language designers. Compared to C++, for example, C# feels feature rich and consistent even though it abandons purity.
I think purity matters where you can have the compiler catch problems.
I think purity matters where you can have the compiler catch problems.