Let&#x27;s describe this in a way that makes sense to me, a C# programmer. In C#, there&#x27;s a function called Sum. It takes an IEnumerable&lt;int&gt;. There&#x27;s an overload for IEnumerable&lt;double&gt;. There&#x27;s no way to express &quot;is a number&quot; in C#, so it&#x27;s just special cased. In Haskell, however, there is:<p>sum :: (Num a) =&gt; [a] -&gt; a<p>Which means: for any a which is a number, sum can be used to add up a list of as.<p>However, going back to the C# example, you&#x27;ll note we said IEnumerable&lt;T&gt;, not List&lt;T&gt;. In C#, the container is general, but in Haskell it&#x27;s specific. And since IEnumerable is an interface, this actually means &quot;any type that is enumerable&quot;. Haskell has an analogue of IEnumerable called Foldable.<p>So, what we _really_ wanted sum to say was &quot;sum is a function that, for any container f that is foldable, for any type a that is a number, takes an f of a and gives you an a&quot;.<p>sum :: (Foldable f, Num a) =&gt; f a -&gt; a<p>This is the AMP style version of sum. Some people hate it, I love it.<p>However, there&#x27;s another piece of background to this that the email doesn&#x27;t mention: the Haskell Platform is under attack itself. There&#x27;s a new solution called stack which is, to my mind, easier to use and less likely to bite you with version conflicts. And whether HP should continue to be the &quot;default&quot; recommended way of starting with Haskell is, at best, controversial.<p>In short: there&#x27;s plenty of people who won&#x27;t miss his work on Haskell Platform, but losing Mark himself is a loss.