It's not that there needs to be messageless signing, it's just that it's better practice to support all use cases. If you get a runtime panic, someone might figure out a way to trick your client into trying to verify a message of size 0. If there's a potential problem, you want to make sure that the daemon will be unaffected.