def (fib n saved) # all args in Wart are optional, and we expect callers to not provide `saved` default saved :to (table 0 0 1 1) # pre-populate base cases default saved.n :to (+ (fib n-1 saved) (fib n-2 saved)) saved.n