unwind-protect evaluates protected-form
and guarantees that cleanup-forms are executed
before unwind-protect exits,
whether it terminates
normally or is aborted by a control transfer of some kind.
unwind-protect is intended to be used
to make sure that
certain side effects take place after the evaluation of
protected-form.