Jak wykonać przecięcie par z dwóch list w schemacie?

Używam tego skryptu z małego intryganta, aby uzyskać skrzyżowanie dwóch zestawów. Ale dostaję błąd niezwiązanego identyfikatora w „członek?”, Czy ktoś może powiedzieć, co jest z nim nie tak:

(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)))))

Brakowało mi tej funkcji powyżej:

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

Ponadto chcę przeciąć dwie listy, takie jak: '((1 2) (2 7))' ((1 3) (4 5)) = '((1 5)), wszelkie sugestie, jak się do tego zabrać? Sprawdzam odpowiedzi z tego posta:Jak napisać funkcję schematu, która pobiera dwie listy i zwraca cztery listy

questionAnswers(2)

yourAnswerToTheQuestion