@SafeVarargs
  public static @NotNull <T extends SemElement> SemKey<T> createKey(String debugName, SemKey<? super T> @NotNull ... supers) {
    return new SemKey<>(debugName, supers);
  }
@SafeVarargs
  public static @NotNull <T extends SemElement> SemKey<T> createKey(String debugName, SemKey<? super T> @NotNull ... supers)