(cond
 ((eq?
   (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))
   'unknown)
  #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))))))