<div dir="ltr"><div>-1 on both proposals.</div><div><br></div>I've been keeping up with the changes to GHC and specifically this BBP for quite some time now, so none of this is coming as a surprise.<div><br></div><div>I'm in favor of the generalized types and I've found that updating to to work with the new exports is a matter of jiggling my imports to not generate redundancy warnings. I haven't found that the more general types are creating inference problems for the kind of code I write.</div><div><br></div><div>I'm also uncomfortable with reducing Foldable to a mere "toList" method as I find that that solution ends up being too "left-biased"  There might be a discussion to be had about what is or isn't in Foldable, but I don't think it's anything blocking.</div><div><br></div><div>I'm particularly excited about the Applicative being a super-class of Monad change and the ability to have generalized operations on Traversables being the default. The Traversable pattern happens to handle a lot of situations and has become about as important to me as Functor.</div><div><br></div><div>I don't think it's fair to characterize any of these changes as a surprise. The discussion has been open and the implementations have been visible for a long time now.</div><div><br></div><div>I can certainly see the reasoning in wanting Data.List.foldr to actually be the list-specific one, and this would be consistent with other cases like Data.Map. Changing this might break some code, but it might be a more reasonable situation in the end. If we're going to consider this it would probably be better in its own thread so that it doesn't get drowned out by the rest of the BBP discussion.</div><div><br></div><div>Sincerely,</div><div>Eric Mertens</div></div>