let fix f' = let g f x = f' (f f) x in g g;;
val fix : (('a -> 'b) -> 'a -> 'b) -> 'a -> 'b = <fun>
let fact = fix fact' in fact 5;;
- : int = 120