anchor.diff:  (defun constant-fold (form function arg-list)
     ;; Bail out in case of errors.
     (ignore-errors
  -    (let ((mode (get function 'constant-fold-mode))
  -          (folder (or (get function 'constant-folder)
  -                      function)))
  +    (let* ((info (gethash function *constant-fold-modes*))
  +           (mode (car info))
  +           (folder (or (cdr info) function)))
         (etypecase mode
           (cons
            ;; List of arguments & argument types.
  
positive.code:   "An alist mapping lexical-variables to their values, if known.")
  
  (defparameter *constprop-lambda-copy-limit* 3)
  
  (defun constprop (lambda architecture)
    (declare (ignore architecture))
  
negative.code:     (setf (lambda-information-body form) (cp-form (lambda-information-body form))))
    form)
  
  (defun mark-as-constant-foldable (name &key (mode t) folder)
    (setf (gethash name *constant-fold-modes*) (cons mode folder)))
  
  ;;; Initialize constant folders.
  (dolist (x '((sys.int::%simple-array-length ((satisfies sys.int::%simple-array-p)))
               (char-code (character))
  