def each(&block)
      return enum_for(__method__) unless block

      mutator = unless @mutations.empty?
                  Fuzzing::Mutator.new(@mutations)
                end

      each_word do |word|
        yield word

        if mutator
          # perform additional mutations
          mutator.each(word,&block)
        end
      end
    end
def each(&block)
      return enum_for(__method__) unless block

      mutator = unless @mutations.empty?
                  Fuzzing::Mutator.new(@mutations)
                end

      each_word do |word|
        yield word

        if mutator
          # perform additional mutations
          mutator.each(word,&block)
        end
      end
    end
Iterates over each word, and each mutation, from the list.

 @yield [word]
   The given block will be passed each word.

 @yieldparam [String] word
   A word from the list.

 @return [Enumerator]
   If no block is given, an Enumerator will be returned.

 @api public