Contradictory Behaviour of Lambda Functions
<p>Using the following definitions:</p>

<pre><code>lenDigits n = length (show n)
factorial n = product [1..n]
</code></pre>

<p>I evaluate the following </p>

<pre><code>Prelude&gt; ((lenDigits . factorial) 199) &lt;= 199
False
Prelude&gt; (\i -&gt; ((lenDigits . factorial) i) &lt;= i) 199
True
</code></pre>

<p>What is the reason for such behaviour? As I see it, the first expression is just the same as the second expression with the lambdas reduced.</p>