Deprecate Foldable for Either

Andreas Abel andreas.abel at
Thu Mar 2 16:22:48 UTC 2017

Today a student came to me wondering why a certain function produced a 
regular result, where he had expected an error.  Turned out he had used 
`concat`, but not on a lists of lists as he had thought, but on a lists 
of `Either a [b]`.

With the Foldable instance for Either, which considers Either a b to be 
a container of 0-1 elements of b, errors are happily swallowed.

I think this instance is harmful and should be deprecated (and later 
removed) from base.

There are similarly pointless Foldable instances as well.

See a discussion one year ago, which was heated, but had no consequences.

Andreas Abel  <><      Du bist der geliebte Mensch.

Department of Computer Science and Engineering
Chalmers and Gothenburg University, Sweden

andreas.abel at

More information about the Libraries mailing list