`Y := { (`f;)
`g := { (`x;)
`h := { (`t;)
[x(@x;)].call(@t;);
};
f(@h;);
};
g(@g;);
};
`f := { (`ff;)
{ (`n;)
if(@n = 0; {
1;
}; {
@n * ff(@n - 1;);
};);
};
};
dump(Y(@f;).call(10;););