Тема: Посчитать количество вершин дерева

Добрый день!
Пытался написать программу на языке LISP
Подсчитать количество вершин дерева, если оно задается вот так -> (1 (2 (3 4) 5 (6 NIL)))

Вот пример кода
(defun tree-counter (tree)
  (cond ((null tree) 0)
        (t (+ (if (> (car tree) 0) 1 0) (tree-counter (cadr tree) n) (tree-counter (caddr tree) n)))))

Выдает ошибку bad argument type 4
Пожалуйста, помогите решить проблему