* decent docs
* length prefixed: reading using dynamically allocated storage and limits
* length prefixed: writing using iterator
