End users should not be directly decoding or encoding the low-level read/write, so it feels anomalous that this was in the public API.