# File cartesian.rb, line 98
  def x(other)
    case other
    when CartesianIterator
      other.left_product(self)
    else
      CartesianIterator.new(self, other)
    end
  end