anchor.diff:           (grand-rounds (grand-rounds context))
            (keys-start (if (= 3 grand-rounds) 48 64))
            (data (make-array 4 :element-type '(unsigned-byte 32))))
  +    (declare (type (simple-array (unsigned-byte 32) (*)) round-keys data)
  +             (type fixnum keys-start grand-rounds)
  +             (dynamic-extent data))
       (dotimes (i 4)
         (setf (aref data i) (logxor (ub32ref/be ciphertext (+ ciphertext-start (* 4 i)))
                                     (aref round-keys (+ keys-start i)))))
  
positive.code:         (keys-start 4)
          (grand-rounds (grand-rounds context))
          (data (make-array 4 :element-type '(unsigned-byte 32))))
      (dotimes (i 4)
        (setf (aref data i) (logxor (ub32ref/be plaintext (+ plaintext-start (* 4 i)))
                                    (aref round-keys i))))
  
negative.code:                  :type (integer 3 4))))
  
  (defmethod schedule-key ((cipher camellia) key)
    (declare (type (simple-array (unsigned-byte 8) (*)) key))
    (let ((round-keys (make-array 68 :element-type '(unsigned-byte 32)))
          (data (make-array 16 :element-type '(unsigned-byte 32))))
      (declare (type (simple-array (unsigned-byte 32) (*)) round-keys data)
               (dynamic-extent data))
      (ecase (length key)
        ((16)
         (dotimes (i 4)
  