So I see that you are not counting keyword args as part of the max arity.  Does that mean that max arity is really "non-kw-args max arity"?  Would it be helpful to rename the arity methods to reflect that they are only the arity of the non-kw args?  (Or am I reading this wrong)?