code: def get_types(cls: Type, keys: List[str]) -> Dict[str, Type]:
      types = []
      for key in keys:
          _type = None
          if key in cls.__annotations__:
              _type = cls.__annotations__[key]
          else:
              for parent_cls in cls.mro():
                  annotations = getattr(
                      parent_cls, "__annotations__", None
                  )
                  if annotations and key in annotations:
                      _type = annotations[key]
          if _type is None:
              # print(f"Failed to find type for key: {key} in {cls}")
              return None
          types.append(_type)
      return dict(zip(keys, types))
  
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 3 for calling a global function with example usage: get_types(cls, keys) and returns: dict, None