anchor.diff:  
   (defun <list-iter> ((list <list>))
     (let ((iter (make <list-iter>)))
  -    (set (.list iter) list)
  -    (set (.i iter) 0)
  +    (setf (.list iter) list)
  +    (setf (.i iter) 0)
       iter))
   
   (defmethod has-next ((iter <list-iter>))
  
positive.code:   (defun setter-name (getter-name)
      (string-concat getter-name "-setter")))
  
  (defmacro set (place value)
    (if (symbol? place)
        #`(setq ,place ,value)
        #`(,(string-to-symbol (setter-name (symbol-name (compound-elt place 0))))
  
negative.code:   (let ((class-name nil)
          (superclass nil))
      (if (symbol? name-and-super)
          (progn (setf class-name name-and-super)
                 (setf superclass nil))
          (progn (setf class-name (compound-elt name-and-super 0))
                 (setf superclass (compound-elt name-and-super 1))))
      #`(progn
          (defvar (class ,class-name) (make-class))
          ,(if superclass 
  