If you have enough arguments that the signature becomes obscure to read you need a dataclass to pass into the function instead.
I would rather:
@dataclass(frozen=True, slots=True)
class VarThings:
n: int
...
def variable(a: VarThings):
...
Than a million args