I think the difficulty is in making sure the state is not mutated. This is unusual for most developers, especially those coming from an OOP background.
It seems like you have some stats I don't have access to. Care to share? I feel it implausible that given reduce is a functionality built into JavaScript, very useful, and that it's the worlds most common programming language saying the vast majority seems like a stretch.