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: 
  (defun <number-iter> (max)
    (let ((iter (make <number-iter>)))
      (setf (.i iter) 0)
      (setf (.max iter) max)
      iter))
  
  (defmethod iter ((max number))
  