generalize type of Data.Set.unions from List to Foldable

Henning Thielemann lemming at
Sun Feb 4 20:17:49 UTC 2018

On Sun, 4 Feb 2018, Joachim Breitner wrote:

> Hi,
> Am Samstag, den 03.02.2018, 20:44 -0500 schrieb David Feuer:
>> It is fold, although fold is not so great for lists in this context. It's also foldl' union Set.empty, which is better for lists, and probably also for balanced trees. I initially thought that we should surely generalize, but now another alternative comes to mind: remove. As a containers maintainer, I believe we should either:
>> 1. Generalize as proposed, or
>> 2. Deprecate and remove.
>> I'm currently somewhat in favor of the second option.
> please don’t remove!
> …is first reaction. Now I just have to rationalize my gut feeling…
> I like the readability of it in code, it is more descriptive.


As always, I see no sense in only preserving a most general version of a 
function. Code that consists of nested fold, fmap, (<>) is practically 
unreadable. Only use that if you really want generic code.

More information about the Libraries mailing list