docs: public static String canonicalName(Class c) {
          try {
              return c.getCanonicalName();
          } catch (InternalError e) {
              return null;
          } catch (IllegalAccessError e) {
              return null;
          }
      }