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, fast-alist-free removes the hash table associated with this
alist, if one exists. This effectively converts the alist into an ordinary
alist.

Because there is no automatic mechanism for freeing the hash tables used in
fast alists, to avoid memory leaks you should manually free any alists that
will no longer be used. You may find fast-alist-summary useful in
tracking down alists that were not properly freed.

It is safe to call fast-alist-free on any argument, including fast alists
that have already been freed and objects which are not alists at all.