Modern web applications often use lists consisting of dynamic data. For example, a photo viewer app might display something like:
This photo includes Ada, Edith, and Grace.
A text-based game might have a different kind of list:
Choose your superpower: invisibility, psychokinesis, or empathy.
Since each language has different list formatting conventions and words, implementing a localized list formatter is non-trivial. Not only does this require a list of all the words (such as “and” or “or” in the above examples) for each language you want to support — in addition you need to encode the exact formatting conventions for all those languages! The Unicode CLDR provides this data, but to use it in JavaScript, it has to be embedded and shipped alongside the other library code. This unfortunately increases the bundle size for such libraries, which negatively impacts load times, parse/compile cost, and memory consumption.