Hello Returns the number of arguments required by the block. If the block takes no arguments, returns -1. If it takes one argument, returns -2. Otherwise, returns a positive argument count unless the last argument is prefixed with *, in which case the argument count is negated. The number of required arguments is anInteger for positive values, and ( anInteger +1).abs otherwise. Proc.new {||}.arity ? 0 Proc.new {|a|}.arity ? -1 ### <<< error? Proc.new {|a,b|}.arity ? 2 Proc.new {|a,b,c|}.arity ? 3 Proc.new {|*a|}.arity ? -1 Proc.new {|a,*b|}.arity ? -2 I would say it's a typo Regards, Daniel