(defun MEMBER (item list &key (test #'eql) test-not key) (if test-not (do ((sublist list (cdr sublist))) ((null sublist) nil) (unless (funcall test-not item (if key (funcall key (car sublist)) (car sublist))) (return sublist))) (do ((sublist list (cdr sublist))) ((null sublist) nil) (when (funcall test item (if key (funcall key (car sublist)) (car sublist))) (return sublist)))))