local function Y(x) return (function (f) return f(f) end)(function(y) return x(function(z) return y(y)(z) end) end) end return Y(function(fibs) return function(n) return n < 2 and 1 or fibs(n - 1) + fibs(n - 2) end end)