anchor.diff:  
   (defun clean-option (direct-slot option)
     "Returns two values, the first being the `direct-slot' with the `option' and its value stripped and the second being a list consisting of the name of the slot and the found prop and value. If such a prop isn't found then the second element is NIL."
  +  (declare (type (or symbol list) direct-slot)
  +           (type symbol option))
  +  (when (eq (type-of direct-slot) 'symbol)
  +    (return-from clean-option (values direct-slot nil)))
     (let* ((grouped (group (cdr direct-slot) 2))
            (found-prop (find option grouped :key #'car :test #'eq))
            (final (append (list (first direct-slot))
  
positive.code: 
  (defun clean-options (slots &rest options)
    "Cleans several options from several slots."
    (labels ((rec (dslots options &optional prop-accum)
               (when options
                   (let (slots
  
negative.code:     (nreverse list)))
  
  (defun group (source n)
    (declare (type list source) (type integer n))
    (if (zerop n) (error "zero length"))
    (labels ((rec (source acc)
  		(let ((rest (nthcdr n source)))
  