After running a BufferWriter action there are three possibilities for what comes next:
Constructors
DoneThis means we're all done. All the builder data has now been written.
More !Int BufferWriterThis indicates that there may be more data to write. It gives you the next BufferWriter action. You should call that action with an appropriate buffer. The int indicates the minimum buffer size required by the next BufferWriter action. That is, if you call the next action you must supply it with a buffer length of at least this size.
Chunk !StrictByteString BufferWriterIn addition to the data that has just been written into your buffer by the BufferWriter action, it gives you a pre-existing chunk of data as a StrictByteString. It also gives you the following BufferWriter action. It is safe to run this following action using a buffer with as much free space as was left by the previous run action.