There is technically a pretty significant difference between<p><pre><code>    +
    function add(x, y) { return x + y; }
</code></pre>
in general in strict, effectful languages. The transformation is called &quot;eta expansion&quot; (technically, I performed two eta expansions and an un-currying) and we really would like it to be valid—it implies conceptual freedom to introduce and eliminate abstractions, but it rarely is. The issue being that it introduces thunks where computation or effects can hide.