It&#x27;s not the type (a -&gt; a) which is troubling, it&#x27;s the type (forall a . (a -&gt; a) -&gt; a) which requires infinite looping. It&#x27;s troubling precisely because the first type isn&#x27;t.