The last step in this laboratory is to allow functions of multiple arguments.
Extend the fun language feature so
that functions can accept a list of zero or more arguments instead of
just one. All arguments to the function must evaluate with the
same deferred substitutions. An example of a multi-argument fun:
{{fun {x y} {* x y}} 2 3}
This evaluates to 6.
You will need to extend your test suite to include functions of multiple arguments.