RE: use HTTP-like status codes:
Okey dokey, I'll add a one-byte machine-readable HTTP-like status code. Unless y'all want a 32-bit status code. Or maybe a varint. Or a three-character numeric string. I really and truly don't care, but I am writing this code right now so whatever you want, decide quickly.
If anybody has strong feelings about what the reject categories should be, then please take the time to write a specific list, I can't read your mind....