anchor.diff:  ;;;
   ;;; Utilities
   
  -;;; Check that an object is a proper list
  -(defun proper-list-p (object)
  -  (or (null object)
  -      (and (consp object)
  -	   (proper-list-p (cdr object)))))
  -
   ;;; Checks if the binding var is a symbol
   (defun binding-var-must-be-symbol (name binding-var)
     (unless (symbolp binding-var)
  
positive.code:                   ;; do some syntax checking
                    (check-variable-clauses ',name variable-clauses)
                    (body-must-be-proper-list ',name body)
                    (unless (and (proper-list-p end-test)
                                 (not (null end-test)))
                      (error 'malformed-end-test
                             :name ',name
  
negative.code: 	     ,result-form))))))
  
  (defun check-variable-clauses (name variable-clauses)
    (unless (cleavir-code-utilities:proper-list-p variable-clauses)
      (error 'malformed-variable-clauses
             :name
             :datum variable-clauses))
  