Why this?  I don't see any benefits.  You have a special case anyway (for example, you can't use pattern "if n in f.nargs: do..." if nargs=tuple()).