Move HAS_CHECK out of `__virtual__()`