You don't need cons, car, cdr, etc.
They can all be implemented using lambda.
For example:
;; excuse my possibly hybrid notation
(defun cons (car cdr)
(lambda (m)
(if (eq? m 'car) car
(if (eq? m 'cdr) cdr
nil))))
(defun car (obj) (obj 'car))
(defun cdr (obj) (obj 'cdr))