code: public static <W extends Comparable<W>, S extends GenericSemiring<W>> UnionSemiring<W, S> makeForNaturalOrdering(
      S weightSemiring) {
      return makeForOrdering(weightSemiring, Ordering.natural(), defaultMerge());
    }
docs: Creates a union semiring for the given semiring (that has naturally comparable weights where the default
  merge strategy will work just fine)
  
  @param weightSemiring underlying weight semiring, this will use the natural ordering and the default merge
  @param <W>            the underlying weight type
  @param <S>            the underlying semiring type for W
  @return