`reduce` is more generic and more powerful but less readable than simple `flatten`, which is is self-descriptive.