fails:Proc#arity returns 1 for a block taking |a, | arguments
fails:Proc#arity returns -1 for a block taking one optional argument
fails:Proc#arity returns -2 for a block taking |a, b = 0| argument 
fails:Proc#arity returns -2 for a block taking |a, b = 0, c = 0| argument 
fails:Proc#arity returns -2 for a block taking |(a, b), c = 0| argument 
