code: def add_weight(type, group, item, weight = 1)
        @weights[type][group] ||= Hash.new(0)
  
        @weights[type][group][item] += Integer weight
      end
docs: Add weight
  
   Used for adding weights for counters, first, next and last letter.
   Valid types are :count, :first, :next and :last (@see #initialize)
   Group is either symbol (e.g. :letters, :words, :sentences, :letter), or string representing letter
   Item is integer (letter, word and sentence count) or string representing letter
   Weight is used for weighted-select in generation methods
  
   @param [Symbol] type
   @param [Symbol|String] group
   @param [String|Integer] item
   @param [Integer] weight