- (flet ((random-fixnum ()
- (random (1+ most-positive-fixnum))))
- (let ((drops (random-fixnum))
- (drop-pos n-fixnum-bits))
- (declare (fixnum drops)
- (type (integer 0 #.n-fixnum-bits) drop-pos))
- (lambda (layouts value)
- (when (logbitp (the unsigned-byte (decf drop-pos)) drops)
- (try-update-cache copy layouts value))
- (when (zerop drop-pos)
- (setf drops (random-fixnum)
- drop-pos n-fixnum-bits)))))