anchor.diff:  
   (defmethod convert-special
       ((symbol (eql 'eval-when)) form environment)
  -  (cleavir-code-utilities:check-form-proper-list form)
  -  (cleavir-code-utilities:check-argcount form 1 nil)
  -  (unless (cleavir-code-utilities:proper-list-p (second form))
  -    (error 'situations-must-be-proper-list
  -	   :expr (second form)))
  -  ;; Check each situation
  -  (loop for situation in (second form)
  -	do (unless (and (symbolp situation)
  -			(member situation
  -				'(:compile-toplevel :load-toplevel :execute
  -				  compile load eval)))
  -	     ;; FIXME: perhaps we should warn about the deprecated situations
  -	     (error 'invalid-eval-when-situation
  -		    :expr situation)))
     (if (not (null (intersection '(:execute eval) (second form))))
         (cleavir-ast:make-progn-ast
          (convert-sequence (cddr form) environment))
  
positive.code: ;;; Converting GO.
  
  (defmethod convert-special ((symbol (eql 'go)) form env)
    (cleavir-code-utilities:check-form-proper-list form)
    (cleavir-code-utilities:check-argcount form 1 1)
    (let ((info (cleavir-env:tag-info (cadr form) env)))
      (if (null info)
  	(error "undefined go tag: ~s" form)
  
negative.code: 
  (defmethod convert-special
      ((head (eql 'progn)) form environment)
    (cleavir-ast:make-progn-ast
     (convert-sequence (cdr form) environment)))
  
  