When running install_package(), undefined S4 classes declared in the NAMESPACE are silently ignored. For example, exportClasses(THIS_CLASS_DOES_NOT_EXIST) is not treated as an error. There is at least one package in CRAN affected: https://github.com/cran/smoothSurv/blob/7e4a7c30ff856bf4028924f82345139cf2924b55/NAMESPACE#L23 This package does not use S4 at all, so it clearly an error. To be consistent with export(), exportClasses() should throw an error upon encountering an invalid class.