One issue is making the learning curve even steeper. Compare the &lt;=7.8 signature of a simple function (which itself is not obvious to beginners) to the 7.10 one:<p><pre><code>  find :: (a -&gt; Bool) -&gt; [a] -&gt; Maybe a
  find :: Foldable t =&gt; (a -&gt; Bool) -&gt; t a -&gt; Maybe a
</code></pre>
The obvious beginner question looking at this code is &quot;what&#x27;s `t a`?&quot;, and now you have to explain type classes to someone who just wanted to find an element in a list.<p>There&#x27;s a list of arguments against FTP compiled on the Haskell wiki:
<a href="https:&#x2F;&#x2F;ghc.haskell.org&#x2F;trac&#x2F;ghc&#x2F;wiki&#x2F;Prelude710&#x2F;List" rel="nofollow">https:&#x2F;&#x2F;ghc.haskell.org&#x2F;trac&#x2F;ghc&#x2F;wiki&#x2F;Prelude710&#x2F;List</a>