@Contract(pure = true)
  public static boolean isAssignable(@NotNull PsiType left, @NotNull PsiType right) {
    return isAssignable(left, right, true);
  }
@Contract(pure = true)
  public static boolean isAssignable(@NotNull PsiType left, @NotNull PsiType right)