@Contract(value = "_, _, _ -> new", pure = true)
  public static <A, B, C> @NotNull Trinity<A, B, C> create(A first, B second, C third) {
    return new Trinity<>(first, second, third);
  }
@Contract(value = "_, _, _ -> new", pure = true)
  public static <A, B, C> @NotNull Trinity<A, B, C> create(A first, B second, C third)