anchor.diff:      :initform nil)))
   (defmethod print-object ((policy conditional-replacement-policy) stream)
     (print-unreadable-object (policy stream :type t)
  -    (when-let ((include-null-p (conditional-replacement-policy-include-null-p policy)))
  -      (declare (ignore include-null-p))
  -      (format stream ":include-null-p "))
  -    (format stream "~S ~S" (conditional-replacement-policy-original-token policy)
  +    (format stream "~S" (variable-expansion-word-variable policy))
  +    (when (variable-expansion-word-length-p policy)
  +      (format stream " :length-p t"))
  +    (when (conditional-replacement-policy-include-null-p policy)
  +      (format stream " :include-null-p t"))
  +    (format stream " :replacement-token ~S"
               (conditional-replacement-policy-replacement-token policy))))
   
   (define-data default-value-policy (conditional-replacement-policy)
  
positive.code: (defun handle-alternate-policy (stream initiation-sequence context)
    (generic-policy-handler stream initiation-sequence context 'alternate-value-policy))
  
  (defun end-variable-expansion-word (stream initiation-sequence context)
    (declare (ignore stream initiation-sequence))
    (lexer-context-mark-end-of-token context)
    nil)
  
  (defun end-variable-expansion-word-policy (stream initiation-sequence context)
    (declare (ignore stream initiation-sequence))
    (lexer-context-mark-end-of-token context)
    (dollar-curly-lexer-context-base-token context))
  
  (defparameter *quote-table*
    (as-> *empty-dispatch-table* x
  
negative.code:     :initarg :base-token
      :initform (required)
      :accessor dollar-curly-lexer-context-base-token
      :type variable-expansion-word))
    (:documentation
     "A class to represent the state of the lexer while reading a
  variable substitution."))
  