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) end function ?fib(10)