@Contract(pure = true)
  public static String @NotNull [] zip(String @NotNull [] strings1, String @NotNull [] strings2, String separator) {
    if (strings1.length != strings2.length) throw new IllegalArgumentException();

    String[] result = ArrayUtil.newStringArray(strings1.length);
    for (int i = 0; i < result.length; i++) {
      result[i] = strings1[i] + separator + strings2[i];
    }

    return result;
  }
@Contract(pure = true)
  public static String @NotNull [] zip(String @NotNull [] strings1, String @NotNull [] strings2, String separator)