request! : Config, Request(value, decode_err), ByteIo(read_err, write_err) => Try(value, Error(read_err, write_err, decode_err))
Rejection leaves the stream untouched. Server/semantic errors follow a complete reply and leave framing aligned. They do not undo command effects.