code: async def getFormTodo(self, name):
          '''
          Produce a deconflicted list of form values across layers
          as a *copy* to avoid iter vs edit issues in the indexes.
          '''
          size = 0
          logger.warning(f'MIGRATION: calculating form todo: {name}')
          async with self.getTempSlab() as slab:
  
              for layr in self.layers:
  
                  async for buid, valu in layr.iterFormRows(name):
                      slab.put(buid, s_msgpack.en(valu), overwrite=False)
                      size += 1
  
              logger.warning(f'MIGRATION: {name} todo size: {size}')
  
              for buid, byts in slab.scanByFull():
                  yield buid, s_msgpack.un(bytsync def getFormTodo(self, name):
          '''
          Produce a deconflicted list of form values across layers
          as a *copy* to avoid iter vs edit issues in the indexes.
          '''
          size = 0
          logger.warning(f'MIGRATION: calculating form todo: {name}')
          async with self.getTempSlab() as slab:
  
              for layr in self.layers:
  
                  async for buid, valu in layr.iterFormRows(name):
                      slab.put(buid, s_msgpack.en(valu), overwrite=False)
                      size += 1
  
              logger.warning(f'MIGRATION: {name} todo size: {size}')
  
              for buid, byts in slab.scanByFull():
                  yield buid, s_msgpack.un(byts)
docs: Produce a deconflicted list of form values across layers
          as a *copy* to avoid iter vs edit issues in the indexes.