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