((and func (not (funcall func new-value)))
(warn "Rejected change to value of slot ~a of object ~a"
(slot-definition-name slot) obj)
((and func (not (funcall func new-value)))
(warn "Rejected change to value of slot ~a of object ~a"
(slot-definition-name slot) obj)