anchor.diff:  (defmacro dotimes ((var count-form &optional result-form) &body body)
     ;; do some syntax checking
     (unless (symbolp var)
  -    (error 'expected-symbol :found var))
  +    (error 'malformed-binding-var :found var))
  +  (unless (or (numberp count-form) (not (constantp count-form)))
  +    (error 'malformed-count-form :found count-form))
     (unless (proper-list-p body)
       (error 'malformed-body :body body))
     (multiple-value-bind (declarations forms)
  
positive.code: (defmacro dolist ((var list-form &optional result-form) &body body)
    ;; do some syntax checking
    (unless (symbolp var)
      (error 'expected-symbol :found var))
    (unless (proper-list-p body)
      (error 'malformed-body :body body))
    (multiple-value-bind (declarations forms)
  
negative.code: ;;;
  ;;; Conditions
  
  (define-condition malformed-binding-var (program-error)
    ((%found :initarg :found :reader found))
    (:report
     (lambda (condition stream)
       (princ "Expected a binding var in the form of" stream)
       (terpri stream)
       (princ "a symbol, but found: " stream)
       (print (found condition) stream))))
  
  (define-condition malformed-list-form (program-error)
    ((%found :initarg :found :reader found))
    (:report
     (lambda (condition stream)
       (princ "Expected a list form in the form of" stream)
       (terpri stream)
       (princ "a list, but found: " stream)
       (print (found condition) stream))))
  
  
  (define-condition malformed-count-form (program-error)
    ((%found :initarg :found :reader found))
    (:report
     (lambda (condition stream)
       (princ "Expected a count form in the form of" stream)
       (terpri stream)
       (princ "a number, but found: " stream)
       (print (found condition) stream))))
  
  (define-condition malformed-body (program-error)
  