@Contract(pure = true)
  public static @Unmodifiable @NotNull <T> List<T> concat(@NotNull List<List<? extends T>> lists) {
    //noinspection unchecked
    return concat(lists.toArray(new List[0]));
  }
@Contract(pure = true)
  public static @Unmodifiable @NotNull <T> List<T> concat(@NotNull List<List<? extends T>> lists)