
Regarding the matter of consensus, do note that the general opinion was something like an 85% supermajority in favor, which is far beyond what most democratic governing bodies require even for drastic actions--I really don't think that starting World War III should require less of a group consensus than modifying the Prelude. Any non-trivial change to core libraries is sure to provoke some amount of opposition, so in practice this is about as clear a consensus as can be expected. However, as was pointed out on IRC, this is not a democratic process and the decision lies ultimately with the maintainer. While the maintainer may certainly take community feedback into account, in a largely unstructured format such as a mailing list it's easy for extended debate to create the appearance of significant disagreement where none really exists. With ideas like the current Foldable/Traversable suggestion there is a great deal of work that would need to be done before reaching the point of having a complete, clear, and fully-detailed proposal: Exactly which combinators are to be generalized, whether any monomorphic versions should exist outside of Prelude, what situations (if any) may cause ambiguious types that break existing code, whether any functions are unavoiably less efficient when generalized, if there need to be rewrite rules to improve performance, how this impacts list foldr/build fusion, and probably a variety of other implementation details on top of that. While this change doesn't intrinsically require breaking anything, in practice it surely won't be that easy. Ideally someone would write up a better overview of these concerns--a task which Shachaf has selflessly volunteered to delegate to me, and I'll do so if necessary--but the process of working out the answers to those questions should have broader community involvement, which is difficult to accomplish in the presence of infinitely persistent arguments about whether the change should happen at all. To make headway on larger changes while retaining community involvement, what I think is necessary is an authority capable of listening to the community, making a *clear decision on whether to proceed or not*, and then organizing the process of investigating and resolving any implementation details. So that's what I'd like to see from a Core Library Bikeshed Decoration Committee or whatever it ends up being called: Find out whether a change is desired by the community, if so determine whether that change is feasible, and if so drive the process to implement it. And anyhow, GHC itself is certainly no less critical than the core libraries. Anything that reduces the amount of non-GHC burdens for GHC HQ to deal with is a win for everyone, I would expect. - C.