code: def get_dependencies(primary_type, types):
      
      deps = set()
      struct_names_yet_to_be_expanded = [primary_type]
  
      while len(struct_names_yet_to_be_expanded) > 0:
          struct_name = struct_names_yet_to_be_expanded.pop()
  
          deps.add(struct_name)
          fields = types[struct_name]
          for field in fields:
              if field["type"] not in types:
                  # We don't need to expand types that are not user defined (customized)
                  continue
              elif field["type"] in deps:
                  # skip types that we have already encountered
                  continue
              else:
                  # Custom Struct Type
                  struct_names_yet_to_be_expanded.append(field["type"])
  
      # Don't need to make a struct as dependency of itself
      deps.remove(primary_type)
  
      return tuple(deps)
docs: Perform DFS to get all the dependencies of the primary_type