Tried to derive the Z combinator and instead derived another
If I inline (u =&gt; (f)(n =&gt; u(u)(n))) into (u =&gt; u(u)) I get:
(u =&gt; f(n =&gt; u(u)(n)))
(u =&gt; f(n =&gt; u(u)(n)))

Which is exactly the Z-Combinator.
From wikipedia:
let Z = f =&gt; 
    (u =&gt; f(v =&gt; u(u)(v)))
    (u =&gt; f(v =&gt; u(u)(v)))

My derivation:
let fix = f =&gt;
    (u =&gt; f(n =&gt; u(u)(n)))
    (u =&gt; f(n =&gt; u(u)(n)))