(f => (x => x(x))(y => f(x => y(y)(x)))) (func => n => (n === 0) ? 1 : (n * func(n - 1))) (19)
The full Y combinator is also vastly more mystical and less obvious than the partial step :)
The full Y conbinator simply binds func to func(func) as seen in `(y => f(x => y(y)(x))))`, an easy jump to make and pretty easy to understand.
The full Y combinator is also vastly more mystical and less obvious than the partial step :)