pub unsafe fn write<T>(base: *mut T, offset: usize, value: T)