(exec list) -> result
exec is similar to eval, except that it is intended to evaluate a list of expressions, instead of just one.
The following examples are equivalent:
>> (exec '((define a 1) (define b 2) (+ a b))) :: 3 >> (eval '(begin (define a 1) (define b 2) (+ a b))) :: 3