pub trait Memory {
// Required methods
fn read<'a>(&'a self, a: u64, s: u64) -> Result<Box<dyn AsRef<[u8]> + 'a>>;
fn write(&mut self, a: u64, x: &[u8]) -> Result<()>;
fn size(&self) -> Result<u64>;
fn grow(&mut self, x: u64) -> Result<()>;
}