code: def process_type_bank(
      type_bank: Dict[str, Tuple[Any, ...]]
  ) -> Dict[str, Dict]:
      # first pass gets each type into basic json schema format
      json_mappings = {}
      count = 0
      converted_types = defaultdict(int)
      for k in type_bank:
          count += 1
          t = type_bank[k]
          (
              nonrecursive,
              serialize,
              deserialize,
              attribute_list,
              exclude_attrs,
              serde_overrides,
              cls,
              attribute_types,
          ) = t
  
          lib = cls.__module__.split(".")[0]
  
          # process types with an attribute list and attribute types first
          if attribute_list and attribute_types:
              if ".uid." not in str(cls):
                  print(f"Skipping {k}")
                  continue
              try:
                  print(f"Processing {k}")
                  schema = convert_attribute_types(
                      cls, attribute_list, attribute_types
                  )
                  json_mappings[cls.__name__] = schema
                  converted_types[lib] += 1
              except Exception:  # nosec
                  print(f"Failed to process. {k}")
  
          # TODO: process other types of serializable objects
  
      converted = sum(converted_types.values())
      print(f"Finished converting {converted} out of {count}")
      return json_mappings
  
file_path: PySyft/packages/syft/src/syft/util/schema.py
imports: from collections import defaultdict
  import json
  import os
  from pathlib import Path
  from typing import Any
  from typing import Dict
  from typing import List
  from typing import Optional
  from typing import Tuple
  from typing import Type
  import syft
label_desc: Use image node_id 5 for calling a global function with example usage: process_type_bank(type_bank) and returns: json_mappings