1 (define (non-num-members as)
2 (filter (lambda (x) (not (number? x))) as))
3 (define (num-members as)
5 (define (more-than-one-number? as)
6 (let ((nums (num-members as)))
7 (if (or (null? nums) (null? (cdr nums)))
10 (define (zero-is-the-only-number? as)
11 (let ((nums (num-members as)))
14 (and (= (car nums) 0) (null? (cdr nums))))))
15 (define (one-is-the-only-number? as)
16 (let ((nums (num-members as)))
19 (and (= (car nums) 1) (null? (cdr nums))))))
20 (define (insert-signs result items sign)
21 (cond ((null? items) result)
23 (insert-signs (list (car items)) (cdr items) sign))
24 (else (insert-signs (append result (list sign (car items)))