I was working on a project where I doing regressions and I wanted to used `scipy.optomize.curve_fit` which takes a function and tries to find the right parameters for it. The odd part was that it was never given how many parameters the function took. Eventually we guessed that it used `foo.__code__.co_nlocals`, but in the case we would've used it I needed 33 arguments. 

To the question: Is there a way use the `def foo(*x)` notation to let python know it needs a certain range of number of arguments? Like a `def foo(*x[:32])`? I'm sure I will never use this in any real code, but it would be interesting to know.