We still have a bunch of redeclarations of Dispatch functions to avoid the automatic bridging of dispatch_data_t and dispatch_block_t, but mostly this is a vast reduction in complexity (and increase in safety).