anchor.diff:    (defun setter-name (getter-name)
       (string-concat getter-name "-setter")))
   
  -(defmacro set (place value)
  +(defmacro setf (place value)
     (if (symbol? place)
         #`(setq ,place ,value)
         #`(,(string-to-symbol (setter-name (symbol-name (compound-elt place 0))))
  
positive.code: 
  (defun <number-iter> (max)
    (let ((iter (make <number-iter>)))
      (set (.i iter) 0)
      (set (.max iter) max)
      iter))
  
  (defmethod iter ((max number))
  
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 
  