-(defknown %aset (array &rest t) t (unsafe))
-(defknown %set-row-major-aref (array index t) t (unsafe))
-(defknown %rplaca (cons t) t (unsafe))
-(defknown %rplacd (cons t) t (unsafe))
-(defknown %put (symbol t t) t (unsafe))
-(defknown %setelt (sequence index t) t (unsafe))
-(defknown %svset (simple-vector index t) t (unsafe))
-(defknown %bitset ((array bit) &rest index) bit (unsafe))
-(defknown %sbitset ((simple-array bit) &rest index) bit (unsafe))
-(defknown %charset (string index character) character (unsafe))
-(defknown %scharset (simple-string index character) character (unsafe))
-(defknown %set-symbol-value (symbol t) t (unsafe))
-(defknown (setf symbol-function) (function symbol) function (unsafe))
-(defknown %set-symbol-plist (symbol t) t (unsafe))
-(defknown (setf fdocumentation) ((or string null) t symbol)
- (or string null)
- ())
-(defknown %setnth (unsigned-byte list t) t (unsafe))
-(defknown %set-fill-pointer (vector index) index (unsafe))
+(defknown %aset (array &rest t) t ()
+ :destroyed-constant-args (nth-constant-args 1))
+(defknown %set-row-major-aref (array index t) t ()
+ :destroyed-constant-args (nth-constant-args 1))
+(defknown (%rplaca %rplacd) (cons t) t ()
+ :destroyed-constant-args (nth-constant-args 1))
+(defknown %put (symbol t t) t ())
+(defknown %setelt (sequence index t) t ()
+ :destroyed-constant-args (nth-constant-args 1))
+(defknown %svset (simple-vector index t) t ()
+ :destroyed-constant-args (nth-constant-args 1))
+(defknown %bitset ((array bit) &rest index) bit ()
+ :destroyed-constant-args (nth-constant-args 1))
+(defknown %sbitset ((simple-array bit) &rest index) bit ()
+ :destroyed-constant-args (nth-constant-args 1))
+(defknown %charset (string index character) character ()
+ :destroyed-constant-args (nth-constant-args 1))
+(defknown %scharset (simple-string index character) character ()
+ :destroyed-constant-args (nth-constant-args 1))
+(defknown %set-symbol-value (symbol t) t ())
+(defknown (setf symbol-function) (function symbol) function ())
+(defknown %set-symbol-plist (symbol list) list ())
+(defknown %setnth (unsigned-byte list t) t ()
+ :destroyed-constant-args (nth-constant-args 2))
+(defknown %set-fill-pointer (complex-vector index) index
+ (explicit-check)
+ :destroyed-constant-args (nth-constant-args 1))