Kinda seems like `toData` should be returned here (where `nil` indicates that application should be skipped), and this block should have a `BOOL *success` parameter, so errors can be signaled.