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
assert b(a(2), a(3)) eq -2
var c = fun(x, f)
return f(f(x))
assert c(7, a) eq 28
var d = fun(x)
var a = fun(x)
x + 1
return a(a(x))
assert d(3) eq 5