ARC __bridge cast Block_copy & Block_release

Por alguna razón, quiero que se ejecute un bloque durante la próxima iteración del ciclo de ejecución, así que se me ocurrió:

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] ;
}
¿No es irónico que tenga que lanzar para anular * el argumento aBloquea_Copiar ¿Por qué el compilador está contento con mi Block_release cuando se ahoga en Block_copy sin el bridge void * cast?

El código parece funcionar, no detecté una fuga ni una liberación prematura, pero estoy un poco desconcertado por la sintaxis ...

Respuestas a la pregunta(4)

Su respuesta a la pregunta