anchor.diff:    ((%first-form :initarg :first-form :reader first-form)
      (%forms :initarg :forms :reader forms)))
   
  -(define-condition multiple-value-prog1-special-form-must-be-proper-list 
  -    (compilation-program-error)
  -  ())
  -
   (define-condition multiple-value-prog1-must-have-at-least-one-argument
       (compilation-program-error)
     ())
   
   (defmethod convert-compound
       ((symbol (eql 'multiple-value-prog1)) form environment)
  -  (unless (sicl-code-utilities:proper-list-p form)
  -    (error 'multiple-value-prog1-special-form-must-be-proper-list
  -	   :expr form))
  +  (check-special-form-proper-list form)
     (unless (>= (length form) 2)
       (error 'multiple-value-prog1-must-have-at-least-one-argument
   	   :expr form))
  
positive.code:   ((%tag :initarg :tag :reader tag)
     (%forms :initarg :forms :reader forms)))
  
  (define-condition catch-special-form-must-be-proper-list 
      (compilation-program-error)
    ())
  
  (define-condition catch-must-have-at-least-one-argument
      (compilation-program-error)
    ())
  
  (defmethod convert-compound
      ((symbol (eql 'catch)) form environment)
    (unless (sicl-code-utilities:proper-list-p form)
      (error 'catch-special-form-must-be-proper-list
  	   :expr form))
    (unless (>= (length form) 2)
      (error 'catch-must-have-at-least-one-argument
  	   :expr form))
  
negative.code: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  ;;; Converting LET.
  
  (define-condition let-must-have-at-least-one-argument
      (compilation-program-error)
  