@NotNull
  @Contract(pure = true)
  public static TypeConstraint exact(@NotNull PsiType type) {
    type = normalizeType(type);
    Exact exact = createExact(type);
    if (exact != null && exact.canBeInstantiated()) return exact;
    return BOTTOM;
  }
@NotNull
  @Contract(pure = true)
  public static TypeConstraint exact(@NotNull PsiType type)