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>