anchor.diff:    (let ((accumulator (poly1305-accumulator mac))
           (r (poly1305-r mac))
           (s (poly1305-s mac)))
  -    (declare (type (simple-array (unsigned-byte 32) (5)) accumulator r)
  -             (type (simple-array (unsigned-byte 32) (4)) s))
  +    (declare (type (simple-array (unsigned-byte 32) (5)) accumulator)
  +             (type (simple-array (unsigned-byte 32) (4)) r s))
       (fill accumulator 0)
  -    (setf (aref r 0) (logand (ub32ref/le key 0) #x3ffffff)
  -          (aref r 1) (logand (mod32ash (ub32ref/le key 3) -2) #x3ffff03)
  -          (aref r 2) (logand (mod32ash (ub32ref/le key 6) -4) #x3ffc0ff)
  -          (aref r 3) (logand (mod32ash (ub32ref/le key 9) -6) #x3f03fff)
  -          (aref r 4) (logand (mod32ash (ub32ref/le key 12) -8) #x00fffff))
  +    (setf (aref r 0) (logand (ub32ref/le key 0) #x0fffffff)
  +          (aref r 1) (logand (ub32ref/le key 4) #x0ffffffc)
  +          (aref r 2) (logand (ub32ref/le key 8) #x0ffffffc)
  +          (aref r 3) (logand (ub32ref/le key 12) #x0ffffffc))
       (setf (aref s 0) (ub32ref/le key 16)
             (aref s 1) (ub32ref/le key 20)
             (aref s 2) (ub32ref/le key 24)
  
positive.code:   (let ((buffer (copy-seq (poly1305-buffer mac)))
          (buffer-length (poly1305-buffer-length mac))
          (accumulator (copy-seq (poly1305-accumulator mac)))
          (r (copy-seq (poly1305-r mac)))
          (s (copy-seq (poly1305-s mac))))
      (declare (type (simple-array (unsigned-byte 8) (16)) buffer)
               (type (integer 0 16) buffer-length)
               (type (simple-array (unsigned-byte 32) (5)) accumulator r)
               (type (simple-array (unsigned-byte 32) (4)) s))
  
      ;; Process the buffer
      (when (plusp buffer-length)
  
negative.code:         (remaining (- end start)))
      (declare (type (simple-array (unsigned-byte 8) (16)) buffer)
               (type (integer 0 16) buffer-length)
               (type (simple-array (unsigned-byte 32) (5)) accumulator)
               (type (simple-array (unsigned-byte 32) (4)) r)
               (type fixnum remaining))
  
      ;; Fill the buffer with new data if necessary
  