anchor.diff:  				      pred-res-types pred-side-effects)
   	  (bst-compile-literal pred-literal ())
   	(unless (null pred-arg-types)
  -	  (bst-compile-error "PREDICATE function ~S takes stack values: ~S"
  +	  (bst-compile-error "PREDICATE function ~S~%  takes stack values: ~S"
   			     pred-literal pred-arg-types))
   	(unless (and (= (length pred-res-types) 1)
   		     (type= (car pred-res-types) '(boolean)))
  -	  (bst-compile-error "PREDICATE function ~S does not deliver exactly one boolean stack value: ~S"
  +	  (bst-compile-error "PREDICATE function ~S~%  does not deliver exactly one boolean stack value: ~S"
   			     pred-literal pred-res-types))
   	(multiple-value-bind (body loop-vars loop-var-types init-types
   				   body-side-effects)
  
positive.code: 		(else-balance (- (length else-res-types) (length else-arg-types)))
  		(then-stack ())
  		(else-stack ()))
  	    (cond ((= then-balance else-balance)
  		   ;; This is the regular case: We have the same
  		   ;; net number of values pushed to the stack.
  		   ;; We compute the arg types and fill up the
  		   ;; shorter arg list.
  		   (do ((then-arg-types (reverse then-arg-types) (cdr then-arg-types))
  			(else-arg-types (reverse else-arg-types) (cdr else-arg-types)))
  		       ((and (null then-arg-types) (null else-arg-types))
  			(setq arg-types (nreverse arg-types)
  			      then-stack (nreverse then-stack)
  			      else-stack (nreverse else-stack)))
  		     (let* ((type (type-intersection
  				   (if then-arg-types (car then-arg-types) t)
  				   (if else-arg-types (car else-arg-types) t)))
  			    (form (pop-single-value-form type
  							 :need-variable :if-side-effects)))
  		       (push type arg-types)
  		       (push form then-stack)
  		       (push form else-stack))))
  		  ((and *compiling-while-body*
  			(> else-balance 0)
  			(= (length then-res-types) (length else-res-types)))
  
negative.code: 
  ;;(map2 #'round '(5 6 7) '(2 2 2))
  
  (define-condition bst-compiler-warning ()
    ((message :initarg :message :reader bst-compiler-error-message)))
  
  (define-condition bst-compiler-error (bst-compiler-warning) ())
  
  (defvar *currently-compiled-function* nil
    "Only used for reporting errors.")
  