`GC.compact` moves objects to defragment the heap. How does MRI keep `object_id` stable for a moved object?s = "hello" oid = s.object_id GC.compact p s.object_id == oid