anchor.diff:                ,@body
                 (get-output-stream-sequence ,var :as-list ,as-list))
            (when ,var (close ,var))))))
  -
  -;;; Some utilities
  -
  -(defun vector-extend (extension vector &key (start 0) (end (length extension)))
  -  ;; copied over from cl-quasi-quote
  -  (declare (optimize speed)
  -           (type vector extension vector)
  -           (type array-index start end))
  -  (let* ((original-length (length vector))
  -         (extension-length (- end start))
  -         (new-length (+ original-length extension-length))
  -         (original-dimension (array-dimension vector 0)))
  -    (when (< original-dimension new-length)
  -      (setf vector (adjust-array vector (max (* 2 original-dimension) new-length))))
  -    (setf (fill-pointer vector) new-length)
  -    (replace vector extension :start1 original-length :start2 start :end2 end)
  -    vector))
  
positive.code: 
  (declaim (inline check-if-open check-if-accepts-octets
            check-if-accepts-characters stream-accepts-characters?
            stream-accepts-octets? vector-extend))
  
  (defclass in-memory-stream (trivial-gray-stream-mixin)
    ((element-type :initform :default ; which means bivalent
  
negative.code:   (incf (vector-stream-index stream))
    byte)
  
  (defun extend-vector-output-stream-buffer (extension stream &key (start 0) (end (length extension)))
    (declare (optimize speed)
             (type vector extension))
    (vector-extend extension (vector-stream-vector stream) :start start :end end)
    (incf (vector-stream-index stream) (- end start))
    (values))
  
  (defmethod stream-write-char ((stream vector-output-stream) char)
    (declare (optimize speed))
    (check-if-open stream)
  