docs: def recursively_load_dict_contents_from_group(h5file, path):
      """
      ....
      """
      rf = h5file["_reconstruction_flags"]
      # rkf = h5file["_reconstruction_key_flags"]
      ans = {}
      for key, item in h5file[path].items():
          dest_key = key
          # if key in ("_reconstruction_flags", "_reconstruction_key_flags"):
          if key in "_reconstruction_flags":
              continue
          kkey = key + "_key_"
          tkey = key + "_typ_"
          if kkey in rf:
              flag = rf[kkey]
              if flag.value == "json_key":
                  import json
                  dest_key = json.loads(key)
                  # import pickle
                  # dest_key = pickle.loads(key.encode("ascii"))
                  # logger.debug("unpickling key")
  
          if tkey in rf:
              flag = rf[tkey]
              if flag.value == "list":
                  dict_to_output = recursively_load_dict_contents_from_group(h5file, path + key + '/')
                  ans[dest_key] = list(dict_to_output.values())
                  continue
              if flag.value == "tuple":
                  dict_to_output = recursively_load_dict_contents_from_group(h5file, path + key + '/')
                  ans[dest_key] = tuple(dict_to_output.values())
                  continue
              elif flag.value == "json_value":
                  import json
                  ans[dest_key] = json.loads(item.value)
                  continue
              elif flag.value == "float":
                  ans[dest_key] = float(item.value)
                  continue
              elif flag.value == "int":
                  ans[dest_key] = int(item.value)
                  continue
  
          if isinstance(item, h5py._hl.dataset.Dataset):
              ans[dest_key] = item.value
          elif isinstance(item, h5py._hl.group.Group):
              ans[dest_key] = recursively_load_dict_contents_from_group(h5file, path + key + '/')
      return ans