Still more updates

* error out in proper places, including client-specific errors
* handle errors properly in frame-specific deserializers