class Array

def sum(init = nil, &block)

:nodoc:
def sum(init = nil, &block)
  if init.is_a?(Numeric) || first.is_a?(Numeric)
    init ||= 0
    orig_sum(init, &block)
  else
    super
  end
end