anchor.diff:    (with-accessors ((results results)
   		   (successors successors))
         context
  -    (destructuring-bind (form-ast . type-asts)
  -	(cleavir-ast:children ast)
  +    (let ((form-ast (cleavir-ast:form-ast ast))
  +	  (type-specifiers (cleavir-ast:type-specifiers ast)))
         (ecase (length successors)
   	(0
   	 ;; This case is a bit hard to handle, because we don't know a
  
positive.code: ;;;
  ;;; Compile a THE-AST.
  
  (defun make-type-check (type-ast var successor)
    (check-type type-ast cleavir-ast:constant-ast)
    (let* ((type-input (cleavir-mir:make-constant-input (cleavir-ast:value type-ast)))
  	 (temp (make-temp nil))
  	 (error-branch
  	   (make-instance 'cleavir-mir:fdefinition-instruction
  
negative.code: 			     temp result next)))
  	     ;; Before assigning to the results, check the
  	     ;; types of the values.
  	     (loop for type-specifier in type-specifiers
  		   for temp in temps
  		   do (setf next (make-type-check type-specifier temp next)))
  	     next)))
  	(2
  	 (if (null results)
  