(defun count-unique-values (list)
  (let ((map (make-hash-table)))
    (loop for x in list
       do (setf (gethash x map) 1))
    (hash-table-count map)))


(defun test (list)
  (format t "Testing ~a: ~a ~%" list (count-unique-values list)))

(test '(1 2 3))
(test '(1 2 3 3))
(test '(1 1 2 2 3 3))



