Enum.product_by/2

defmodule Enum do
  def product_by(enumerable, fun)
end

Maps and computes the product of the given enumerable in one pass.

Raises ArithmeticError if fun returns a non-numeric value.