anchor.diff:  
   (defclass control-error (error))
   
  +(defclass return-to-toplevel (restart))
  +
   (define-stupid-show condition)
   (define-stupid-show error)
   (define-stupid-show warning)
  
positive.code:   (.i iter))
  
  (defmethod next ((iter number-iter))
    (inc (.i iter)))
  
  (defmacro dotimes (var-and-ct &rest body)
    (let ((var (elt var-and-ct 0))
  
negative.code:   (< (.i iter) (len (.list iter))))
  
  (defmethod next ((iter list-iter))
    (incf (.i iter)))
  
  (defmethod now ((iter list-iter))
    (elt (.list iter) (.i iter)))
  