pub unsafe trait HeapTrait {
// Required methods
fn mark(&self);
fn unmark(&self);
fn slot(&self) -> Address;
fn get_fwd(&self) -> Address;
fn set_fwd(&self, _: Address);
fn copy_to(&self, addr: Address);
fn addr(&self) -> Address;
fn inner(&self) -> *mut HeapInner<dyn Trace>;
fn is_marked(&self) -> bool;
}