anchor.diff:  					  binding
   					  (first binding))))
   	     (body-env (construct-let-body-environment
  -			variables canonical-declarations env))
  +			variables canonical-dspecs env))
   	     (ast (cleavir-ast:make-progn-ast
   		   (convert-sequence forms body-env))))
   	(loop for binding in (reverse bindings)
  
positive.code: 	      for init-ast = (convert init env)
  	      do (setf ast
  		       (if (variable-is-special-p
  			    var canonical-declarations env)
  			   (cleavir-ast:make-bind-ast var init-ast ast)
  			   (let ((lexical (cleavir-env:identity info)))
  			     (cleavir-ast:make-progn-ast 
  
negative.code:   (destructuring-bind (bindings &rest body) (cdr form)
      (multiple-value-bind (declarations forms)
  	(cleavir-code-utilities:separate-ordinary-body body)
        (let* ((canonical-dspecs
  	       (cleavir-code-utilities:canonicalize-declaration-specifiers 
  		(reduce #'append (mapcar #'cdr declarations))))
  	     (variables (loop for binding in bindings
  