intersection (Randexp::Reducer)

    # File lib/randexp/reducer.rb, line 35
        def self.intersection(cell, quantity)
          case quantity
          when '?''?'       then ['', cell.map {|s| reduce(s)}.pick].pick
          when :+, '+?''+?'  then raise "Sorry, \"((...)|(...))+\" is too vague, try setting a range: \"((...)|(...)){1, 3}\""
          when :*, '*?''*?'  then raise "Sorry, \"((...)|(...))*\" is too vague, try setting a range: \"((...)|(...)){0, 3}\""
          when Range      then quantity.pick.of { cell.map {|s| reduce(s)}.pick } * ''
          when Integer    then quantity.of { cell.map {|s| reduce(s)}.pick } * ''
          when nil        then cell.map {|s| reduce(s)}.pick
          end
        end