The ISerialInput/Output interfaces have a basic built-in implementation that reads/writes to a buffer:
Creating a buffer with the most optimal size
Schemas can measure how many bytes a particular value will take up, which can be used
to create a buffer that will fit that value perfectly.
Creating a shared buffer that fits all possible values
If a schema’s size is bounded (there is a max size that no value encodings will surpass), we can create a shared buffer
of the maximum size the schema can take.