;; Even though the filler slots are not used, if you remove any of ;; them, the hash of the instance will change after GC. But if the ;; filler slots are present, the hash will stay the same after GC. (use srfi-69 lolevel) (define-record-type box (make-box contents) box? ;; Remove or comment out any of the next three lines: (filler1 box-filler1) (filler2 box-filler2) (filler3 box-filler3) (contents box-contents)) (define my-box (make-box (make-locative "foo"))) (define old-hash (eq?-hash my-box)) (gc) (define new-hash (eq?-hash my-box)) (printf "old hash: ~S~N" old-hash) (printf "new hash: ~S~N" new-hash)