let Y G = let type rt *a = recrt (rt *a -> *a) -- `g' has a rec type in let Ggg (recrt g) = G(g (recrt g)) in Ggg (recrt Ggg) and F f n = if n=0 then 1 else n*f(n-1) in Y F 10 --\fB Y: Fixed-Point Operator or Paradoxical Combinator in LML. \fP