(define (find? ?target lst) (cond ((null? lst) #f) ((eq? ?target (car lst)) 0) ((not (eq? (find? ?target (cdr lst)) #f)) (+ 1 (find? ?target (cdr lst)))) (else #f))) (find? 4 (list 1 2 3 4 5 6)) (find? 1 (list 1 2 3 4 5 6)) (find? 4 (list 1 2 3)) (define name 'Joe) (find? name (list 1 4 6 'Joe' 5 4/3 3+7i))