The javadoc for HandlerMethodArgumentResolver.resolveArgument states

Mono for the argument value, possibly empty

The statement possibly empty means that the type is @Nullable, so the return type should align with this by returning Mono<@Nullable Object>.

Comment From: sdeleuze

I think Mono parameterized type by design can't be null, so I am not sure we can make that equivalence. Here I tend to think we just hint that the mono can be empty and return no value. I will double check with the implementations.