Я считаю, что причина вашей проблемы в том, как вы декларируете свою собственность. Строка:
@property (nonatomic, strong, readonly) NSMutableArray<Coordinatorable>*childCoordinators;
должна быть:
@property (nonatomic, strong, readonly) NSMutableArray<id<Coordinatorable>>*childCoordinators;
Использование id<SomeeProtocol>
- это то, что необходимо при обращении к объектам, которые соответствуют протоколу.