function erm(integer n, f)
return f(n,f)
end function
function fib(integer n)
if n<0 then throw("constraint error") end if
return erm(n,function(integer n,f) return iff(n<2?n:f(n-1,f)+f(n-2,f)) end function)
?fib(10)