The kill -1 behaviour seems like a bug. Sure, it's documented, but how often is it done on purpose? It seems like something that should at least be a separate function.
Hopefully doesn't happen often, but potentially very useful in narrow circumstances. The problem is it being -1, not it being available. If it took an argument to kill that you'd never accidentally generate as a PID then it might as well be a different function. Of course, with negative numbers otherwise referring to process groups, there's not a lot of room remaining, so yeah...