code: public void resetImplicitPrototype(JSType type, ObjectType newImplicitProto) {
      if (type instanceof PrototypeObjectType) {
        PrototypeObjectType poType = (PrototypeObjectType) type;
        poType.clearCachedValues();
        poType.setImplicitPrototype(newImplicitProto);
      }
    }
docs: Set the implicit prototype if it's possible to do so.
  There are a few different reasons why this could be a no-op: for example,
  numbers can't be implicit prototypes, and we don't want to change the implicit prototype
  if other classes have already subclassed this one.