!def TRUE = \x y. x TRUE !def FALSE = \x y. y !def IF = \x y z. x y z IF TRUE t e !trace IF TRUE t e !def NOT = \z x y. z y x NOT T NOT F !def add = \m n f x. m f (n f x) !def 2 = \f x. f (f x) add 2 2 !by_value add 2 2