Returning "undefined" or an empty string can cause inconsistent behavior since many clients don't type-check responses properly, rejection ensures consistent, catchable handling
Discussion
You wish, but that’s not what many clients do, and still do not type check or anything
Too many clients still assume a valid object/string return and skip any type checks or try/catch. It’s a mess.
I believe that , u need a stronger convention in the NIP itself, lik a standardized error object { error: "rejected" }... so clients stop guessing what “failure” means.
I am with you on this one