anchor.diff:  ;;;-------------------------------------------------------------------------
   
   (defclass buffer ()
  -  ((synchronized :initarg :synchronized :reader synchronizedp)
  -   (device :initarg :device :accessor device-of)
  -   (input-iobuf :initarg :input-buffer :accessor input-iobuf-of)
  -   (output-iobuf :initarg :output-buffer :accessor output-iobuf-of))
  +  ((synchronized :initarg :synchronized
  +                 :reader synchronizedp)
  +   (device :initform nil
  +           :initarg :device
  +           :accessor device-of)
  +   (input-iobuf :initarg :input-buffer
  +                :accessor input-iobuf-of)
  +   (output-iobuf :initarg :output-buffer
  +                 :accessor output-iobuf-of))
     (:default-initargs :synchronized nil))
   
   (defclass single-channel-buffer (buffer)
  
positive.code: 
  (defmethod initialize-instance :after
      ((buffer single-channel-buffer) &key data size)
    (with-accessors ((input-iobuf input-iobuf-of)
                     (output-iobuf output-iobuf-of))
        buffer
      (check-type data (or null iobuf))
      (setf input-iobuf (or data (make-iobuf size))
            output-iobuf input-iobuf)))
  
negative.code: (defmethod initialize-instance :after
      ((buffer dual-channel-buffer)
       &key input-data output-data input-size output-size)
    (with-accessors ((device device-of)
                     (input-iobuf input-iobuf-of)
                     (output-iobuf output-iobuf-of))
        buffer
      (check-type device device)
      (check-type input-data (or null iobuf))
      (check-type output-data (or null iobuf))
      (setf input-iobuf (or input-data (make-iobuf input-size)))
  