Arity is the number of arguments a callable accepts according to its argument rules. Methods enforce a strict argument count, while ordinary Proc objects are more permissive. section 14.1.6 section 16.3.5
A permissive Proc
A one-parameter Proc can be called without arguments, binding its parameter to nil, or with several arguments, using the first and discarding the rest.
Lambda procs restore stricter arity behavior. Ruby’s curry method uses arity to accept arguments incrementally, returning callable objects until enough arguments are available. section 14.1.6 section 16.3.5
Currying a three-argument function
A curried addition function can receive all arguments at once, one at a time, or in groups: fun.(1, 2, 3), fun.(1).(2).(3), and fun.(1, 2)[3] all produce 6.
Arity supports reusable functions: abstracting one argument from repeated operations creates specialized functions, such as find_multiples_of_3 and find_multiples_of_5.




