anchor.diff:  		    (list temp
   			  (sicl-mir:make-constant-input
   			   (sicl-ast:type-specifier ast)))
  -		    (list false true)
  -		    (sicl-ast:type-specifier ast)))))))))
  +		    (list false true)))))))))
         (2 (if (null results)
   	     (let ((temp (make-temp nil)))
   	       (compile-ast
  
positive.code: 	 ;; THE-AST.  For now, do what we are allowed to do according to
  	 ;; the HyperSpec (i.e., don't check the types).  Eventually we
  	 ;; hope to implement a better solution.
  	 (compile-ast form context))
  	(1
  	 (let* ((temp-count (max (length results) (length types)))
  		(temps (make-temps (make-list temp-count))))
  	   (let ((next (car successors)))
  	     ;; The last actions to take are to assign the temps to
  
negative.code: ;;;
  ;;; Compile a THE-AST.
  
  (defun make-type-check (type-ast var successor)
    (check-type type-ast sicl-ast:constant-ast)
    (let* ((type-input (sicl-mir:make-constant-input (sicl-ast:value type-ast)))
  	 (error-branch
  	   (sicl-mir:make-funcall-instruction
  	    ;; We do not know the storage for the ERROR function, but
  	    ;; it should already have been processed so that it is
  	    ;; present in the linkage vector.
  	    (list (sicl-mir:make-global-input 'error nil)
  		  (sicl-mir:make-constant-input :datum)
  		  var
  		  (sicl-mir:make-constant-input :expected-type)
  		  type-input))))
      (sicl-mir:make-typeq-instruction
       (list var type-input)
       (list error-branch successor))))
  
  (defmethod compile-ast ((ast sicl-ast:the-ast) context)
    (with-accessors ((results results)
  		   (successors successors))
        context
      (destructuring-bind (form-ast . type-asts)
  	(sicl-ast:children ast)
        (ecase (length successors)
  	(0
  