Как взять пересечение пар из двух списков в схеме?

Я использую этот сценарий из Маленького интриганта, чтобы получить пересечение двух множеств. Но я получаю ошибку несвязанного идентификатора в 'член?Может кто-нибудь, пожалуйста, скажите, чтос этим не так

(define intersect
  (lambda (set1 set2)
    (cond ((null? set1) (quote ()))
          ((member? (car set1) set2)
           (cons (car setl)
                 (intersect (cdr set1) set2)))
          (else (intersect (cdr setl) set2)))))

Я пропустил эту функцию выше:

(define member?
  (lambda (a lat)
    (cond ((null? lat) #f)
          (else (or (eq? (car lat) a)
                    (member? a (cdr lat)))))))

Также я хочу пересечь два списка вроде: '((1 2) (2 7)) '((1 3) (4 5)) = '((1 5)), какие-либо предложения о том, как это сделать? Я ищу ответы из этого поста:Как написать функцию схемы, которая принимает два списка и возвращает четыре списка

Ответы на вопрос(2)

Ваш ответ на вопрос