When a Proc and a lambda are each passed as the block to `Array#map` over an array of pairs, why does the proc succeed but the lambda raise ArgumentError?
prc = proc { |a, b| "#{a}+#{b}" }
p [[1,2],[3,4]].map(&prc)
lam = ->(a, b) { "#{a}+#{b}" }
p [[1,2],[3,4]].map(&lam)