(cond (#f #f) (else (if (eq? (ft-eye-color (make-ft 'robby 'hazel (make-ft 'alice 'green (make-ft 'emily 'brown 'unknown 'unknown) (make-ft 'bruce 'blue 'unknown 'unknown)) (make-ft 'bill 'brown 'unknown 'unknown))) 'blue) '() (let ((mom-path (path-to-blue-eyes (ft-mom (make-ft 'robby 'hazel (make-ft 'alice 'green (make-ft 'emily 'brown 'unknown 'unknown) (make-ft 'bruce 'blue 'unknown 'unknown)) (make-ft 'bill 'brown 'unknown 'unknown))))) (dad-path (path-to-blue-eyes (ft-dad (make-ft 'robby 'hazel (make-ft 'alice 'green (make-ft 'emily 'brown 'unknown 'unknown) (make-ft 'bruce 'blue 'unknown 'unknown)) (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))))))