Major Section: PROGRAMMING
The Common Lisp language allows its pairlis function to construct
an alist in any order! So we have to define our own version,
pairlis$. It returns the list of pairs obtained by consing
together successive respective members of the given lists until the
first list runs out. (Hence in particular, if the second argument
is nil then each element of the first argument is paired with nil.)
The guard for pairlis$ requires that its arguments are true lists.