+Solutions to the factorial problem and the mutual recursion problem:
+
+ let true = \y n. y in
+ let false = \y n. n in
+ let pair = \a b. \v. v a b in
+ let fst = \a b. a in ; aka true
+ let snd = \a b. b in ; aka false
+ let zero = \s z. z in
+ let succ = \n s z. s (n s z) in
+ let zero? = \n. n (\p. false) true in
+ let pred = \n. n (\p. p (\a b. pair (succ a) a)) (pair zero zero) snd in
+ let add = \l r. r succ l in
+ let mult = \l r. r (add l) 0 in
+ let Y = \h. (\u. h (u u)) (\u. h (u u)) in
+
+ let fact = Y (\f n . zero? n 1 (mult n (f (pred n)))) in
+
+ let Y1 = \f g . (\u v . f(u u v)(v v u))
+ (\u v . f(u u v)(v v u))
+ (\v u . g(v v u)(u u v)) in
+
+ let Y2 = \f g . Y1 g f in
+
+ let proto_even = \e o n. zero? n true (o (pred n)) in
+ let proto_odd = \o e n. zero? n false (e (pred n)) in
+
+ let even = Y1 proto_even proto_odd in
+ let odd = Y2 proto_even proto_odd in
+
+ odd 3