anchor.diff:  (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)
  +(defun end-variable-expansion-word-with-policy (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)
  +(defun end-variable-expansion-word-policy-free (stream initiation-sequence context)
     (declare (ignore stream initiation-sequence))
     (lexer-context-mark-end-of-token context)
  -  (dollar-curly-lexer-context-base-token context))
  +  (dollar-curly-lexer-context-base-token  context))
   
   (defparameter *quote-table*
     (as-> *empty-dispatch-table* x
  
positive.code:     :initarg :base-token
      :initform (required)
      :accessor dollar-curly-lexer-context-base-token
      :type token))
    (:documentation
     "A class to represent the state of the lexer while reading a
  variable substitution."))
  
negative.code:     :initform nil)))
  (defmethod print-object ((policy conditional-replacement-policy) stream)
    (print-unreadable-object (policy stream :type t)
      (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)
  