@Override
 public <A> A accept(@NotNull PsiTypeVisitor<A> visitor) {
   return visitor.visitPrimitiveType(this);
 }
 @Override
 public <A> A accept(@NotNull PsiTypeVisitor<A> visitor) {
   return visitor.visitDiamondType(this);
 }
 @Override
 public <A> A accept(@NotNull PsiTypeVisitor<A> visitor) {
   return visitor.visitIntersectionType(this);
 }