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:           (make-instance 'shell-lexer-context
                           :stream stream
                           :readtable (lexer-context-readtable context)))
           (replacement-token (shell-lexer-context-extensible-read-loop inner-context policy-readtable))
           (base-token (dollar-curly-lexer-context-base-token context)))
      (make-instance class
                     :variable (variable-expansion-word-variable base-token)
                     :length-p (variable-expansion-word-length-p base-token)
                     :replacement-token replacement-token
                     :include-null-p include-null-p)))
  
  (define-data conditional-replacement-policy (variable-expansion-word)
    ((replacement-token
      :initarg :replacement-token
      :reader conditional-replacement-policy-replacement-token
      :initform (required))
  