-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
+ 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