anchor.diff:  (defun buffer-limit (buff)
     (declare (buffer buff))
     "Get the total available size of the buffer"
  -  (length (slot-value buff 'backing-vector)))
  +  (array-dimension (slot-value buff 'backing-vector) 0))
   
   (defun buffer-available (buff)
     (declare (buffer buff))
  
positive.code: Returns the position of the first element of seq that wasn't updated. (>= end)"
    (with-slots ((arr backing-vector) head tail) buff
      (let ((amount-to-retrieve (min (- end start) (buffer-available buff)))
            (arr-length (length arr)))
        (when (not (zerop amount-to-retrieve))
          (iter (for idx from start below (+ start amount-to-retrieve))
                (setf (elt seq idx) (aref arr head))
                (setf head (mod (1+ head) arr-length))
                (finally (when (= head tail)
                           (setf head -1)))
  
negative.code:     (with-slots ((arr backing-vector) head tail) buff
        (when (< head 0)
          (setf head 0 tail 0))
        (setf (svref arr tail) element)
        (setf tail (mod (1+ tail) (array-dimension arr 0)))
      t)))
  
  (defun buffer-read-element (buff &optional default)
  