code: @SafeVarargs
      @Nonnull
      public static <I> Word<I> fromSymbols(I... symbols) {
          if (symbols.length == 0) {
              return epsilon();
          }
          if (symbols.length == 1) {
              return fromLetter(symbols[0]);
          }
          return new SharedWord<>(symbols.clone());
      }
docs: Creates a word from an array of symbols.
  
  @param symbols
  the symbol array
  
  @return a word containing the symbols in the specified array