message: resolves comments
diff: @@ -445,18 +445,14 @@ impl BlockPrimaryIndex {
  #[inline]
  fn iterator(&self) -> Result<Vec<BlockHash>, StorageError> {
  - let items = self
  - .kv
  - .find(IteratorMode::Start, None, Box::new(|(_, _)| Ok(true)))?;
  - let mut results = vec![];
  - for (k, _) in items.iter() {
  - let key = {
  use crate::persistent::codec::Decoder;
  + let results : Result<Vec<_>, _> = self
  + .kv
  + .find(IteratorMode::Start, None, Box::new(|(_, _)| Ok(true)))?
  + .iter().map(|(k, _)| {
  <Self as KeyValueSchema>::Key::decode(k)
  - }?;
  - results.push(key)
  - }
  - Ok(results)
  + }).collect();
  + Ok(results?)
  }
  }
  @@ -471,11 +467,13 @@ impl RocksDbKeyValueSchema for BlockPrimaryIndex {
  "block_storage"
  }
  }
  +
  impl KVStoreKeyValueSchema for BlockPrimaryIndex {
  fn column_name() -> &'static str {
  Self::name()
  }
  }
  +
  /// Index block data as `level -> location`.
  #[derive(Clone)]
  pub struct BlockByLevelIndex {
  