code: async def parallel_results(future_map: Sequence[Tuple]) -> Dict:
      
      ctx_methods = OrderedDict(future_map)
      fs = list(ctx_methods.values())
      results = await asyncio.gather(*fs)
      results = {
          key: results[idx] for idx, key in enumerate(ctx_methods.keys())
      }
      return results
docs: Run parallel execution of futures and return mapping of their results to the provided keys.
      Just a neat shortcut around ``asyncio.gather()``
  
      :param future_map: Keys to futures mapping, e.g.: ( ('nav', get_nav()), ('content, get_content()) )
      :return: Dict with futures results mapped to keys {'nav': {1:2}, 'content': 'xyz'}