# File cartesian_iterator.rb, line 36
  def product(other)
    (result = self.dup).product!(other)
    result
  end