pub trait StoreArray<Elm: FixedCodec> {
// Required methods
fn get(&self, index: u32) -> ProtocolResult<Elm>;
fn push(&mut self, element: Elm) -> ProtocolResult<()>;
fn remove(&mut self, index: u32) -> ProtocolResult<()>;
fn len(&self) -> ProtocolResult<u32>;
fn is_empty(&self) -> ProtocolResult<bool>;
fn iter<'a>(&'a self) -> Box<dyn Iterator<Item = (u32, Elm)> + 'a>;
}