anchor.diff:  	      (setq result (cons i result)))))
       (if lst2
   	(dolist (i lst2)
  -	  (if (funcall content lst1 (car i))
  +	  (if (not (funcall content lst1 (car i)))
   	      (setq result (cons i result)))))
       result))
  +
  +
   
   
   #| good idea bad knowladge: list isn't modified
  
positive.code: 
  (defun r-contains (lst item)
    (if lst
        (or (= (caar lst) item) (contains (cdr lst) item))
        nil))
  
  (defun i-contains (lst item)
  
negative.code:   (if lst
        (if (eq (caar lst) item)
  	  (cdar lst)
  	  (r-probability (cdr lst) item))
        nil))
  
  (defun i-probability (lst item)
    (dolist (i lst)
      (if (eq (car i) item) (return-from i-probability (cdr i)) nil)))
  
  (defun less-list (lst item)
    (if lst  
        (if (eq (caar lst) item)
  	  (cdr lst)
  	  (cons (car lst) (less-list (cdr lst) item)))))
  
  (defun r-intersection (lst1 lst2 &key (content #'i-contains) (probability #'r-probability))
    (cond
      ((eq lst1 nil) nil)
      ((funcall content lst2 (caar lst1))
  