I don't think I understand this example...it sure looks like the method would accept 1, 2, or 3 args.  Or, if you aren't counting kw args as part of the arity, I would expect it to be true for 1 but false for 2 and 3.  Having different return values for 2 vs 3 doesn't make sense to me, since y and z are declared identically in the method signature.