Logically, this function is the identity; we leave it enabled and would think it odd to ever prove a theorem about it.
Under the hood,
Also see fast-alist-free-on-exit.
When the host Lisp is CCL or SBCL, the associated hash table may be freed
up automatically by the garbage collector when the corresponding alist is no
longer referenced. (To trigger garbage collection manually, see gc$.)
But for Lisp implementations other than CCL and SBCL this is not the case so,
to avoid memory leaks, you should use
It is safe to call
(defun fast-alist-free (alist) (declare (xargs :guard t)) alist)