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