(let ((mom-path (cons 'dad '())) (dad-path (cond ((eq? (make-ft 'bill 'brown 'unknown 'unknown) 'unknown) #f) (else (if (eq? (ft-eye-color (make-ft 'bill 'brown 'unknown 'unknown)) 'blue) '() (let ((mom-path (path-to-blue-eyes (ft-mom (make-ft 'bill 'brown 'unknown 'unknown)))) (dad-path (path-to-blue-eyes (ft-dad (make-ft 'bill 'brown 'unknown 'unknown))))) (cond ((and mom-path dad-path) (cons 'mom mom-path)) ((and mom-path (not dad-path)) (cons 'mom mom-path)) ((and dad-path (not mom-path)) (cons 'dad dad-path)) (else #f)))))))) (cond ((and mom-path dad-path) (cons 'mom mom-path)) ((and mom-path (not dad-path)) (cons 'mom mom-path)) ((and dad-path (not mom-path)) (cons 'dad dad-path)) (else #f)))