Data transformation patterns
A good question about data transformation libraries richness would be: Where does such an overwhelming variety come from in the first place? Why do designers of F# include as many as hundred-something functions over base data collections into the core library?
I believe a single "right" answer to this question simply does not exist. However, some clues may come from considering a typical ETL - Extract, Transform, Load (https://en.wikipedia.org/wiki/Extract,_transform,_load) enterprise data crunching process. In the world of mutable collections and arbitrarily changing states, this operation can be expressed as follows:
void PerformETL() { ExtractData(); TransformData(); LoadData(); }
This C#-like pseudocode demonstrates how literally gazillions of possible data transformations can be hidden behind the same few opaque lines of code. We cannot say anything about the details until we meticulously delve into the implementation of each of...