code: public static KindName typeKindName(Type t) {
          if (t.hasTag(TYPEVAR) ||
              t.hasTag(CLASS) && (t.tsym.flags() & COMPOUND) != 0)
              return KindName.BOUND;
          else if (t.hasTag(PACKAGE))
              return KindName.PACKAGE;
          else if ((t.tsym.flags_field & ANNOTATION) != 0)
              return KindName.ANNOTATION;
          else if ((t.tsym.flags_field & INTERFACE) != 0)
              return KindName.INTERFACE;
          else
              return KindName.CLASS;
      }
docs: A KindName representing the kind of a given class/interface type.