code: def save_function(elements, module_path):
      
      for elem, signature in elements.items():
          if isinstance(signature, dict):  # Submodule case
              save_function(signature, module_path + (elem,))
          elif signature.isstaticfunction():
              functions.setdefault(elem, []).append((module_path, signature,))
          elif isinstance(signature, Class):
              save_function(signature.fields, module_path + (elem,))
docs: Recursively save functions with module name and signature.