[mInjector bindProtocol:@protocol(ProtocolA) toProviderBlock:^id(id<BTKInjector> i) { ProtocolAImpl *o = [ProtocolAImpl new]; o.protocolB = [i proxyFor:@protocol(ProtocolB)]; o.protocolC = [i proxyFor:@protocol(ProtocolC)]; return o; }]; [mInjector bindProtocol:@protocol(ProtocolB) toProviderBlock:^id(id<BTKInjector> i) { return [[ProtocolBImpl alloc]initWithProtocolA:[i proxyFor:@protocol(Protoco