fun fib 0 = 0
| fib 1 = 1
| fib n = fib (n-1) + fib (n-2)
val fib = fn n => if n < 0 then raise Fail "Negative"
else fib n