Consider the following method
- (void)methodWithArg:(NSString *)arg1 andArg:(NSString *)arg2 completionHandler:(void (^)(NSArray *results, NSError *error))co
From apple developer blog: The Core: _Nullable and _Nonnull
you can use the non-underscored forms nullable and nonnull immediately after an open parenthesis, as long as the type is a simple object or block pointer.
The non-underscored forms are nicer than the underscored ones, but you’d still need to apply them to every type in your header.