def METHOD_NAME(self, module: str, partial_name: str | None = None) -> str:
    """Return a C name usable for a static definition.
    Return a distinct result for each (module, partial_name) pair.
    The caller should add a suitable prefix to the name to avoid
    conflicts with other C names. Only ensure that the results of
    this function are unique, not that they aren't overlapping with
    arbitrary names.
    If a name is not specific to any module, the module argument can
    be an empty string.
    """
    # TODO: Support unicode
    if partial_name is None:
        return exported_name(self.module_map[module].rstrip("."))
    if (module, partial_name) in self.translations:
        return self.translations[module, partial_name]
    if module in self.module_map:
        module_prefix = self.module_map[module]
    elif module:
        module_prefix = module + "."
    else:
        module_prefix = ""
    actual = exported_name(f"{module_prefix}{partial_name}")
    self.translations[module, partial_name] = actual
    return actual