(declaim (optimize (speed 3))) (defun arr-fieldi (i ar) (aref (the (simple-array (signed-byte 64) (10)) ar) i)) (defun update-arr-fieldi (i v ar) (progn (setf (aref ar i) v) ar)) (defvar my-ar (make-array 10 :element-type '(signed-byte 64) :initial-element '0)) ; True: (typep my-ar 'simple-array) (update-arr-fieldi 0 (1+ most-positive-fixnum) my-ar) (assert (equal 537 ; wrong! (arr-fieldi 0 my-ar))) (update-arr-fieldi 0 most-positive-fixnum my-ar) (assert (equal most-positive-fixnum ; correct (arr-fieldi 0 my-ar)))