Extensions

@protocol Cleanable
- (void)clear;
@end

@interface IntList : NSObject
- (void)clear;
@end

@implementation IntList
- (void)clear {
}
@end

//the category only marks conformance:
//the method already exists
@interface IntList (Conformance) <Cleanable>
@end

@implementation IntList (Conformance)
@end

IntList *list = [IntList new];
bool isCleanable = [list
    conformsToProtocol:@protocol(Cleanable)];
//isCleanable is 1