anchor.diff:  ;;; encoding streams
   
   (defclass encoding-stream (#.*binary-output-stream-class*)
  -  ((wrapped :reader wrapped :initarg :wrapped)
  -   (buffer :reader buffer :initarg :buffer)
  +  ((buffer :reader buffer :initarg :buffer)
      (index :accessor index :initform 0)
      (encode-fun :reader encode-fun :initarg :encode-fun)
      (encode-table :reader encode-table :initarg :encode-table)
  
positive.code: (defun make-encoding-stream (destination format &key (element-type 'base-char))
    (multiple-value-bind (encode-fun length-fun table) (encoding-tools format)
      (let ((canonical-element-type (canonicalize-element-type element-type)))
        (when (null destination)
          (case canonical-element-type
            ((character base-char)
  
negative.code:           (determine-encoding-writer destination 0 canonical-element-type)
          (declare (ignore return-value))
          (make-instance 'encoding-stream
                         :encode-fun encode-fun
                         :encode-table table
                         :writer writer)))))
  