The second argument to cons not necessarily a list. This is a list only if you, well, create a list (correct or different). This is great if the cdr part of the cons cell is not a list, for example, when creating a list of associations:
(define lookup-table (list (cons 'x 10) (cons 'y 20) (cons 'z 30))) (assoc 'z lookup-table) => '(z . 30)
source share