ARC __bridge lançou Block_copy & Block_release

Por alguma razão, eu quero que um bloco seja executado durante a próxima iteração do loop de execução, então criei:

typedef void (^resizer_t)() ;

- (void) applyResizer: (resizer_t) resizer {
    resizer() ;
    Block_release(resizer) ;
}

- (void) usage {
    ...
    resizer_t resizer = ^() {
        // stuff
    } ;

    [self performSelectorOnMainThread:@selector(applyResizer:)
                           withObject:(__bridge id) Block_copy((__bridge void *) resizer)
                        waitUntilDone:NO] ;
}
Não é irônico eu ter que lançar para anular * o argumento paraQuadr_cópia de Por que o compilador está satisfeito com meu Block_release quando engasga com Block_copy sem a ponte void * cast?

O código parece funcionar, não detectei um vazamento nem um lançamento prematuro, mas estou um pouco intrigado com a sintaxe ...

questionAnswers(4)

yourAnswerToTheQuestion