code: func (f *fragment) blockData(id int) (rowIDs, columnIDs []uint64) {
  	f.mu.Lock()
  	defer f.mu.Unlock()
  	f.storage.ForEachRange(uint64(id)*HashBlockSize*ShardWidth, (uint64(id)+1)*HashBlockSize*ShardWidth, func(i uint64) {
  		rowIDs = append(rowIDs, i/ShardWidth)
  		columnIDs = append(columnIDs, i%ShardWidth)
  	})
  	return rowIDs, columnIDs
  }
docs: // blockData returns bits in a block as row & column ID pairs.