list
list takes one or more arguments and constructs a list of
those items. That is, a cdr-linked, null-terminated sequence
of pairs is created, where each pair's car fields holds
one of the values passed to list.
Notice that this is different from cons, in that the arguments
are not lists in general--they're just any items that should be put
into a list.
Intuitively, we often use cons to push one item onto a list that
already exists, but we use list to create a list from
scratch.
Notice that if we hand list just one argument, e.g., (list 1),
that creates one pair whose cdr is null and whose car is the
given argument. In contrast, if we use cons to create a
one-element list, we must pass it that element and an empty
list to serve as the cdr value: (cons 1 '()).