let var = do $FP + end, putendl = (10 putchar), protofib = fn(a: %int, b: %int) -> %(%int, %int) do b@ putnum putendl b@ a@ b@ + end, fib = fn(n: %int) -> %void do get %(%int, %int) let a = (1 var), b = (2 var) in 0 a= 1 b= while (n@) do a@ b@ protofib b= a= n dec end end dump %(%int, %int) end in 20 fib putendl end