Scheme Question

   Acceptable Answer:
      (define Y
        (lambda (func)
          ((lambda (k) (k k)) func)))

   Suitably modified form of "member" function:
      (define f
        (lambda (member)
          (lambda (lst obj)
            (if (null? lst)
                '()
                (if (eq? (car lst) obj) #t ((member member) (cdr lst) obj))))))

   Example Use:
      ((Y f) '(1 2 3 4) 3)



   Acceptable Answer:
      (define Y
        (lambda (X)
          ((lambda (func)
              (X (lambda arg (apply (func func) arg))))
           (lambda (func)
              (X (lambda arg (apply (func func) arg)))))))

   Suitably modified form of "remove" function
      (lambda (remove)
        (lambda (l p)
          (if (null? l)
              '()
              (if (list? l)
                  (if (eq? (car l) p)
                      (remove (cdr l) p)
                      (cons (remove (car l) p) (remove (cdr l) p))) l))))


   Note: Other correct solutions exist


   Incorrect:
      (define Y
        (lambda (c)
          ((lambda (func)
             (lambda (exp) ((func func) exp))) c)))