public Void visitTypeVar(TypeVar type, Void ignore) {
   // For TypeVars (and not subtypes), the bound should always be
   // null or bot. So, only print the bound for subtypes of TypeVar,
   // or if the bound is (erroneously) not null or bot.
   if (!type.hasTag(TypeTag.TYPEVAR)
       || !(type.bound == null || type.bound.hasTag(TypeTag.BOT))) {
     printType("bound", type.bound, Details.FULL);
   }
   printType("lower", type.lower, Details.FULL);
   return visitType(type, null);
 }