var a = fun (x) return x * 2 end assert a(7) eq 14 assert a(a(7)) eq 28 var b = fun (u, v) return u - v end assert b(a(2), a(3)) eq -2 var c = fun(x, f) return f(f(x)) end assert c(7, a) eq 28 var d = fun(x) var a = fun(x) x + 1 end return a(a(x)) end assert d(3) eq 5