pub unsafe fn mr_unchecked(&self, addr: Address<F>) -> &MemoryEntry<F> {
        match self.0.get(addr.as_usize()).map(|c| unsafe {
            // SAFETY: The pointer is dereferenceable. It has already been written to due to the
            // happens-before relation (in `mw_unchecked`), so no mutable/unique reference can
            // exist. The immutable/shared reference returned indeed remains valid as
            // long as the lifetime of `&self` (lifetimes are elided) since it refers to
            // memory directly owned by `self`.
            &*c.0.get()
        }) {
            Some(entry) => unsafe {
                // SAFETY: It has already been written to, so the value is valid. The reference
                // obeys both lifetime and aliasing rules, as discussed above.
                entry.assume_init_ref()
            },
            None => panic!(
                "expected address {} to be less than length {}",
                addr.as_usize(),
                self.0.len()
            ),
        }
    }
# Safety
This should be called precisely when memory is to be read according to a happens-before
relation corresponding to the documented invariants of [`crate::RecursionProgram`]
invariants. This guarantees the absence of any data races.
crates/recursion/core/src/runtime/memory.rs