lambda n: int -> int => let fib = lambda f : (int -> int) -> int -> int => \ n : int -> int => if n == 0 then 0 else if n == 1 then 1 else f (n - 1) + f (n - 2) in let rec fix f : ((int -> int) -> int -> int) -> int -> int = \ x : int -> int => f (fix f) x in fix fib n