anchor.diff:             (initialization-value (var decls)
                (let ((type (var-decls-type var decls)))
                  (cond
  -                 ;; Needless; this is the default behavior.
  -                 #+ () ((type=? type 'boolean) nil)
  +                 ((type=? type 't)
  +                  ;; Generate a placeholder, saving the name of the
  +                  ;; var for debugging purposes. Note that the
  +                  ;; placeholder is inserted directly into the code,
  +                  ;; so there is no run-time consing.
  +                  (unbound var))
  +                 ((type=? type 'boolean) nil)
                    ((or (type=? type 'bit)
                         (type=? type 'fixnum)
                         (type=? type 'array-index)
  
positive.code:                  ((type=? type '(complex single-float)) #C(0f0 0f0))
                   ((type=? type '(complex double-float)) #C(0d0 0d0))
                   ((type=? type '(complex float)) #C(0.0 0.0))
                   ;; Strings aren't immutable.
                   #+ () ((type=? type 'string) (make-string 0))
                   ((type=? type 'pathname) 'uiop:*nil-pathname*)
                   ((type=? type 'function) '#'identity)
                   ;; TODO More character types? E.g. base-char on SBCL?
  
negative.code: (in-package :serapeum/internal-definitions)
  
  (defvar *subenv*)
  
  (defstruct-read-only (unbound
                        (:constructor unbound (var)))
    "Placeholder for an unbound variable."
    (var :type symbol))
  
  (defmacro without-internal-definitions (&body body)
    `(progn ,@body))
  