Salve a tutti,

chi se ne intende di Scheme e può darmi una mano con il mio problema?
devo fare un programma che conti il numero di nodi di un albero, il mio codice sorgente è questo:

(define nnodi
(lambda (a)
(if (null? a)
0
(+ 1 (nnodi (cadr a)) (nnodi (cddr a)))
)
)
)

a mio parere è giusto ma mi da un problema ogni volta che lo compilo;
un esempio di compilazione può essere questo
(nnodi ( ( ) 50 ( ( ( ) 60 ( ) ) 70 ( ) ) ))
chi mi aiuta?